[关闭]
@chenhongen 2016-03-18T10:19:39.000000Z 字数 3650 阅读 964

茂号iOS项目1.0版本开发文档(首页、抢优惠)


我们需要更便捷更高效的记录思想,整理笔记、知识,并将其中承载的价值传播给他人,编写完某个模块时抽出一点点时间整理你的开发文档,并按照我的这个规范

项目组成结构:

  • 首页(城市搜索模块、店铺搜索模块、走街串巷、店铺详情、优惠劵详情、店铺地址定位、店铺路线查询)
  • 抢优惠(摇一摇抢优惠、摇到优惠劵,优惠劵详情、查看自己的卡卷包)
  • 我的()

一、首页及点击进入的所有界面

首页分为城市列表模块、店铺搜索模块、广告位模块(banners)、热门分类(hotStores)、推荐商家(Recommended_shops)、附近商家列表(Nearby_shops)

1. 城市列表

  • 相关类: MHCityViewController、MHCitySearchResultTableViewController
  • 代码入口: maohow -> Classes -> HomePage -> View -> MHHomePageMengBanView
  • 功能介绍: 使用UITableView展示cityGroups.plist文件中的城市,使用Search Bar实现搜索某个城市
  • 效果图: ![城市列表搜素][1]
  • 核心技术:
    1)当文本框内容发生变化时将MHCitySearchResultTableViewController成为MHCityViewController的子控制器,并控制子控制器view的显示与否
    2)使用MJExtension进行字典转模型
    3) 使用过滤器(NSPredicate)通过一定的条件从一个数组中过滤出想要的数据
  • 适配:Masonry、Autolayout

2. 店铺搜索模块

  • 相关类: MHSearchController、MHSearchResultController
  • 代码入口: maohow -> Classes -> HomePage -> View -> MHHomePageMengBanView
  • 功能介绍:
    提供任何关键字搜索(若没有,则提示用未找到相关商铺)
    提供热门关键字搜索模块
    提供搜索过的关键字历史记录(不超过8条)
  • 核心技术:
    1)使用自动布局,设置约束
    2)使用MJExtension进行字典转模型
    3) 在Caches文件中创建dataPlist文件夹,并在该文件夹创建historykeyWords.plist文件对数据进行缓存
    4)在- (void)viewWillAppear:(BOOL)animated; 方法中添加定时器,每隔180秒进行一次地址更新(用于获取商铺信息)
  • 适配:Autolayout

3. 首页广告位模块

  • 相关类: MHAdView、MHAdCell
  • 代码入口: maohow -> Classes -> HomePage -> view -> MHAdCell
  • 功能介绍:
    1) MHAdView框架可以通过传入图片链接地址数组,控件尺寸等条件,创建相应图片轮播器
    2) 该框架可显示page位置、设置占位图片、是否定时循环滚动、设置图片标题等功能
    3) 后台数据发生变化时下拉刷新即可
  • 核心技术:
    1)当文本框内容发生变化时将MHCitySearchResultTableViewController成为MHCityViewController的子控制器,并控制子控制器view的显示与否
    2)使用MJExtension进行字典转模型
    3) 使用过滤器(NSPredicate)通过一定的条件从一个数组中过滤出想要的数据
    4) 在Caches文件中创建dataPlist文件夹,并在该文件夹创建HomePageBanners.plist文件对数据进行缓存,请求最新数据时覆盖之前的记录

4. 首页热门分类(hotStores)

  • 相关类: MHHomeMenuCell、MHMenuBtnView
  • 代码入口: maohow -> Classes -> -> HomePage -> view -> Homepage
  • 功能介绍: 模仿美团的首页的分类模块,实现左右滑动分页效果
  • 核心技术:
    1)自定义MHHomeMenuCell作为整个模块,继承UITableViewCell,内部定义一个UIScrollView,两个UIView和一个UIPageControl,将内部定义的两个UIView添加到UIScrollView中
    2)自定义MHMenuBtnView,继承UIView,提供对象方法-(id)initWithFrame:(CGRect)frame title:(NSString *)title imageStr:(NSString *)imageStr; 设置每一个分类的title和image
    3) 在两个UIView中自定义布局添加MHMenuBtnView
  • 适配:Autolayout,frame

5. 首页推荐商家(Recommended_shops)

  • 相关类: MHShoppingCell
  • 代码入口: maohow -> Classes -> View -> MHShoppingCell
  • 功能介绍: 自定义MHShoppingCell展示三个推荐商家
  • 核心技术:
    1)自动布局
    2) 在Caches文件中创建dataPlist文件夹,并在该文件夹创建HomePageRecommended_shops.plist文件对数据进行缓存,请求最新数据时覆盖之前的记录
  • 适配:Masonry、Autolayout

6. 首页附近商家列表(Nearby_shops)

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View -> MHStoreCell
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
    2) 在Caches文件中创建dataPlist文件夹,并在该文件夹创建HomePageNearby_shops.plist文件对数据进行缓存,请求最新数据时覆盖之前的记录
  • 适配:Autolayout

7.走街串巷

  • 相关类: MHWanderStreetsController
  • 代码入口: maohow -> Classes -> Controller
  • 功能介绍: 提供全部类型、附近、排序三个条件对商家进行筛选,显示当前所在位置并提供刷新功能,通过监听scrollView的offset控制导航栏的透明度,导航栏提供搜索商家的入口
  • 核心技术:
    1)使用UITableView进行cell的复用
    2)使用MJRefresh实现下拉刷新,上拉加载
    3)监听scrollView的offset,控制头部约束的值从而达到头部背景图片下拉放大的效果
    4)使用代理模式实现刷新最新地址的业务逻辑
    5)在Caches文件中创建dataPlist文件夹,并在该文件夹创建storeList.plist文件对数据进行缓存,请求最新数据时覆盖之前的记录
  • 适配:Autolayout

8.商家详情

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

9.优惠劵详情

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

10.店铺地址定位

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

11.店铺路线查询

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

二、抢优惠及点击进入的所有界面

1.摇一摇

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

2.摇到优惠劵

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

3.卡券包

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

4.优惠劵详情

  • 相关类: MHStoreCell
  • 代码入口: maohow -> Classes -> View
  • 功能介绍: 通过列表形式展示10条附近商家信息
  • 核心技术:
    1)使用UITableView进行cell的复用
  • 适配:Autolayout

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注