1.UITableview创建方式
(1) 自定义高度
- 1 新建一个继承自UITableViewCell的类
- 2 重写initWithStyle:reuseIdentifier:方法
- 3 添加所有需要显示的子控件(不需要设置子控件的数据和frame, 子控件要添加到 contentView中)
- 4 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片)
- 5 供2个模型
数据模型: 存放文字数据\图片数据
frame模型: 存放数据模型\所有子控件的frame\cell的高度 - 6 cell拥有一个frame模型(不要直接拥有数据模型)
- 7 重写frame模型属性的setter方法: 在这个方法中设置子控件的显示数据和frame
(2) 自定义高度原理
A 手动计算
- 1 由于heightForRow比cellForRow方法先调用,创建frame模型包含微博模型,重写微博模型
赋值set方法,ᨀ前计算cell子控件的frame并保存,heightForRow方法中取出frame模型中保存
的高度,实现自定义高度cell - 2 设置最大尺寸、文本属性,根据文本内容计算正文内容展示尺寸
- 3 cellForRow中创建自定义cell包含frame属性,重写frame属性set方法创建cell子控件并赋
值frame模型保存的子控件尺寸
B. 自动计算
- 1 首先设置行高使用autolayout自动计算并预估高度
- 2 在stroboard中对cell内容进行自动布局,注意设置图片距离底部约束,cellForRow中创建
storyb