tableView中一些关于Cell的思路想法
一、自定义Cell
1.定义一个UITableViewCell的子类,添加相应的子视图控件
2.在controller中实现cellForRow的代理方法,设置自定义cell类型的cell对象
①从重用集合(队列)中获取自定义cell类型的cell对象
②创建自定义cell类型的cell对象
3.在自定义cell类中声明model对象属性
4.在cellForRow代理方法中,先从数组中获取本行要显示的model对象,再赋值给cell进行显示
二, tableView显示多种cell
1.定义多个UITableViewCell的子类
2.在controller中,实现cellForRow的代理方法。根据数据,选择对应 的cell类型
(1)先从数组中获取数据
(2)根据数组中的某个值进行判断,选择使用某种类型的cell
(3)每种cell的重用标识不能重复
三,cell自适应高度
1,heightForRow和cellForRow的执行顺序。设置cell高度的代理方法先执行,即:在设置cell高度时,还没有cell对象
2,在自定义cell类中,定义一个计算cell高度的方法。
注意:(1)类方法,返回值:CGFloat,参数:model对象。
(2)cell:所有不变的值 + 所有变化的值
3,在自定义cell类中,实现model对象的setter方法时,除了为了视图控件设置显示的数据,还要修改自适应控件的frame
4,自适应高度的Label:
注意:(1)numberofLines = 0; 换行
(2)label的字体要和计算大小时设置的参数保持一致