iOS 高仿:花田小憩3.0.1

544 查看

前言

断断续续的已经学习Swift一年多了, 从1.2到现在的2.2, 一直在语法之间徘徊, 学一段时间, 工作一忙, 再捡起来隔段时间又忘了.思来想去, 趁着这两个月加班不是特别多, 就决定用swift仿写一个完整项目.

个人文字功底有限, 就我而言, 这款APP做的挺唯美的…

github地址

github地址

声明

花田小憩项目里面的都是真实接口, 真实数据, 仅供学习, 毋作其他用途!!!

项目部分截图

由于项目的大体功能都已经实现了的, 所以整个项目还是比较庞大的.所以, 下面罗列部分功能的截图.
由于gif录制的时候, 会重新渲染一遍图片, 所以导致项目中用到高斯模糊的地方, 看起来感觉比较乱, 实际效果还是不错的.

新特性

首页

详情页

评论

分享

商城首页

商城详情页

商品搜索

支付

图片浏览器

专栏作家

个人中心

项目环境

编译器 : Xcode7.3及以上

语言 : Swift2.2

整个项目都是采用纯代码开发模式

tip: 之前编译环境这儿有点错误, 因为我项目中用了Swift2.2的特性, 2.2之后方法名需要写成#selector(AddAddressViewController.save), 不再使用双引号了

第三方框架

还用到了MBProgressHUD.
除此之外,几乎全部都是自己造的小轮子

目录结构详解

Classes下包含7个功能目录:

Resources : 项目用到的资源,包含plist文件, js文件字体

Network : 网络请求, 所有的网络请求都在这里面, 接口参数都有详细的注释

Tool : 包含tools(工具类), 3rdLib(第三方:友盟分享, MBProgressHUD ), Category(所有项目用到的分类)

Home : 首页(专题), 包含专题分类, 详情, 每周Top10, 评论, 分享等等功能模块

Main : UITabBarController, UINavigationController设置以及新特性

Malls : 商城, 包含商城分类, 商品搜索, 详情, 购物车, 购买, 订单, 地址管理, 支付等等功能模块

Profile : 个人中心, 专栏作者, 登录/注册/忘记密码, 设置等功能模块

大家可以下载项目, 对照这个目录结构进行查看, 很典型的MVC文件结构, 还是很方便的.

项目部分功能模块详解

① 新特性NewFeatureViewController : 这个功能模块还是比较简单的, 用到了UICollectionViewController, 然后自己添加了UIPageControl, 只需要监听最后一个cell的点击即可.

这儿有一个注意点是: 我们需要根据版本号来判断是进入新特性界面, 广告页还是首页.

② 下拉刷新RefreshControl : 在这个项目中, 没有用第三方的下拉刷新控件, 而是自己实现了一个简单的下拉刷新轮子, 然后赋值给UITableViewControllerpublic var refreshControl: UIRefreshControl?属性. 主要原理就是判断下拉时的frame变化: