1.京贝尔数据
1.数据模型
2.初始化加载数据
3.轮播
4.gridItem分类
4.1.获取gridItem分类数据模型.
4.2.在数据源方法,设置模型,返回三排三种cell
4.3.gridCell.添加子控件.
4.4.layoutSubviews
4.5.中间grid Masonry设置约束
4.6下边图靠上,图设小,字靠紧
4.7.不再继承自gridCell,单独建类,不会继承到Masonry约束,非常流畅.
5.主题推荐
5.1模型数组
5.2.ViewModel
1 | [self.homeViewModel setData:^{ |
6.热门好店
1.数据源
6.2.从模型数组中取出热门 好店模型数组
6.3.UICollectionViewDataSource
6.4.设置inset,itemsize
6.5.PS测量尺寸,BC,scale,计算比例.
6.6.设置图片,需要缩放(不需要)
6.6.2.从缓存中找sd下的图
6.6.3.不需要缩放,用aspactFill,因为在总控制器设定的尺寸不对
6.7.添加locationLabel.调节约束.
6.8.设置圆角在LayoutSubviews
6.9.添加header
6.10.注册
6.11.设置尺寸
7.大牌甄选
7.1.type
7.2.用type取[self.homeViewModel getDataArray:_type]
7.3.设置type给子cell,分别取不同数据
7.4.设置header
7.5.设置动态颜色
7.6.设置总尺寸和头部约束
8.设置单例HomeViewModel,防止内存一直增加.
9.推荐店
1.建cell类和xib
1.1.initWithFrame,loadNibNamed
1.2.layourSubviews
1.3.setStoreModel
2.注册ReuserIdentifier,nibWithName, registerNib:nib forReuseIdentifier:
3.加属性
4.懒加载初始化
5.读模型的方法JSON to 模型数组
6.模型类建模
7.给collect数据
8.设置item大小
9.调整子控件位置,添加下边线,
10.设置navbar颜色,滑动通知改变背景色
11.深色监控
1 | // 获取当前模式 |
12.设置tabBar
1.中间按钮用圆角去掉黑边,需要自定义tabbar,在layouSubViews里.
2.设置文字颜色和背景色,使用SF Symbel,作图标,可以改变颜色.
3.控制器属性数组
4.用数组添加子控制器和items
5.中间按钮添加事件
\break
13.附近nearBy,横向跨屏滑动的效果,用的是DCPagerController做到了
1.新建控制器.
2.修改DCPagerController,总体背景色
3.去掉底部一条黑线
4.获取网络数据,URL 没有length错误.
5.标签没字,要看赋值那里是不是有问题,尤其第一个显示了最后一个,可能就是全都赋给了第一个.
6.MR_NearByViewController.m
7.创建子控制器
13.6.pagerController添加子控制器
1.旧版:四种控制器麻烦
2.新版一个类,四个对象.少三个类,便于修改,就是一个类加了个对象.
3.用自己的对象
7.在init里建collectview
8.CollectView数据源
9.给Cell赋值
10.附近商店模型
11.从模型数组中取出附近模型数组<-HomeViewModel
13.12. 四个模型数组对应四组店<-HomeViewModel 改了
13.12.1新版控制器一个类,四个对象.少三个类,便于修改,就是一个类加了个对象.
13.12.2.统一控制器,添加模型数组属性
13.12.3.用自己的模型数组当数据源
13.13.设置title,导航栏的设了不好使 <-.MR_NearByViewController.m
13.14.设置滑页控制器颜色和模式
13.15.更改podfile,防止自动更新pagerController
14.地图计算距离用原生CoreLocation
1.加框架
2.遵守协议CLLocationManagerDelegate
3.请求使用位置
4.添加用户位置属性
5.懒加载中开始update位置 ,改了
6.update完就停止.delegate
7.iOS获得用户位置
8.Please note that in iOS 11 and later,
a third key has to be supplied to your info.plist: NSLocationAlwaysAndWhenInUseUsageDescription
9.Location and Maps Programming Guide
10.教程里的代码都不好使,也许只是有延迟
11.使用的是高德地图.
1.百度开发者网站:http://lbsyun.baidu.com/
2.cocoapod安装有182M,太大了,换单独的包.
3.注册app
4.导入库
5.距离计算在服务器端.
15.详情页
1.导航
2.颜色
3.修改naviCtrl
15.4.初始化 背景色
16.模型数据
1.MS_StoreInfo and MR_DetailModel
2.懒加载数据到模型
3.传indexPath取数据.
17.详情:MR_StoreDetailViewController.m->添加View.
17.1.setupCollectView
17.2.导入头文件
17.3.定义重用ID
17.4.创建CollectionView
17.5UICollectionViewDataSource
17.6.MR_ShuffleCollectionViewCell
17.7.设置使用的cell
17.8.MR_ShuffleCollectionViewCell.m
17.9.设置button,圆角
1 | /** |
17.10.通知打开新控制器
18.详情相册,MR_DetailImagesCollectionViewController
18.0.带字典参数的通知
18.1.接受通知处理点击
18.2.点击推出图片展示控制器
18.3.建MR_DetailImagesCollectionViewController
18.5 声明id
18.6.初始化collectView
18.7.建模型,有值的都写才行
18.8.JSON 转模型section模型的数组
18.9.为数据源写方法,到时按组取数组就好
18.10 数据源,从模型数组中取就好
18.11 section 头
18.12. sectionLabel,有了模型,在DetailImageVC中处理不需要这个方法了
18.13.这里设不到text
18.14.必须在这setter这里设text,否则不刷新 18.商品图片集end.
19.详情第一组,商店信息模
19.1.添加模型
19.2找到了QuickType,pasteJsonAsCode,复制然后菜单里找就好
120个Key,手动写手累坏了
19.3.在首页选中item时赋值getStoreInfoForIndexPath:(NSIndexPath *)indexPath
19.4.添加Views
_imageButtonImage __NSCFString * @”https://jd-img.gbei.cn/upload/storeImage/yqbXfqxVtkh.jpeg" 0x0000000282dfa850