经过代码自定义cell(cell的高度不一致,好比微博)

1.新建一个继承自UITableViewCell的类数组

  

2.重写initWithStyle:reuseIdentifier:方法字体

(先要调用父控件的nitWithStyle:reuseIdentifier:方法)spa

添加全部须要显示的子控件(不须要设置子控件的数据和frame,  子控件要添加到contentView中)继承

进行子控件一次性的属性设置(有些属性只须要设置一次, 好比字体\固定的图片)图片

  

3.提供2个模型get

数据模型: 存放文字数据\图片数据it

frame模型: 存放数据模型\全部子控件的frame\cell的高度io

 

 4.cell拥有一个frame模型(不要直接拥有数据模型)方法

  

5.重写cell类frame模型属性的setter方法: 在这个方法中设置 子控件的显示数据frame数据

(为frame模型属性赋值时,会拿到frame模型中的值,在这时,将这些值赋给子控件)

6.重写数据模型类数据模型属性的setter方法:在这个方法中计算出模型数据对应的frame

(为数据模型属性赋值时,会拿到数据模型中的值,在这时,计算出模型数据对应的frame)

 

6.控制器中,frame模型数据 的初始化已经采起懒加载的方式(每个cell对应的frame模型数据只加载一次),即:在getter方法中加载,若是模型数据为nil,就加载,将整个plist转为模型组成的数组存起来了。

相关文章
相关标签/搜索