需求:一个详情页面,有4个部分cell,高度不一样,而且一定条件下就只显示3个部分的cell.采用UICollectionView来做就比较灵活。
实现方式不一样
采用storyboard+viewcontroller
1.xcode8新建一个storyboard
默认空白,拖进一个viewcontroller,设置初始化VC,
再拖进一个collectionview,铺满屏幕
![Uploading 图片_306407.png . . .]
3.创建一个继承 UICollectionViewCell 的类
4.cell关联类,以及添加标识。
5.创建一个继承 UIViewControll 的类,添加关联,并做代码映射,也就是输出,或者说拖线。
6.创建另外三个继承 UICollectionViewCell 的类,并且在storeboard中关联类以及标识
7.开始在VC中写代码
@interface DCCouponDetailVC ()
< //1.遵守协议
UICollectionViewDelegate,
UICollectionViewDataSource,
UICollectionViewDelegateFlowLayout
>
最终效果
遇到的问题
could not dequeue a view of kind: UICollectionElementKindCell
解决方法:检查collectionView cellForItemAtIndexPath方法中,可重用的标识是否正确,前面有在storeboard设置的标识,这里才可以写。不然就要另外注册cell。
2.坑啊,突然发现cell里面的控件无法拖线到自定义的collectcell,只能拖到VC
检查了下发现
这个也要关联类才可以
直接关联这个避免键盘拉起遮挡的
TPKeyboardAvoidingCollectionView