通过代码自定义cell(cell高度不一致)

第一步:新建一个继承自UiTableViewCell的类。

第二步:先在新建的类中重写初始化方法,把所有可能用到的控件都添加上去。(不需要设置子控件的数据和frame,子控件要添加到contentVIew中)

第三步:在类中添加模型属性。

在这一步可以顺便同时把控件中一些不会改变的属性设置上,比如:字体和固定的图片 。

第四步:提供两个模型:

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

Frame模型:数据模型和所有子控件的Frame和每个cell所占的高度。

第五步:每个cell拥有一个Frame模型(不要直接拥有数据模型)

第六步:重写frame模型属性的setter方法,在方法中设置给子控件添加数据,并设置好Frame

第七步:Frame模型数据的初始化依然采用懒加载的方法(每一个cell对应的frame模型数据只加载一次)

注意:在使用自定义cell的时候,一定要记得重新设置cell上某些控件的状态,否则从重用池中取出的cell会保留加入缓存池时候的状态,因此,从重用池中取出cell的时候一定做两件事:

第一件事:修改cell上的数据

第二件事:修改cell上自定义控件的状态。

你可能感兴趣的:(通过代码自定义cell(cell高度不一致))