本文主要是介绍XIB内容UitableView显示,行高不相同情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
非XIB内容的UitableView(cell高度不一致)
通过代码自定义cell1、新建一个继承自UITableView的类
2、重写- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier方法在方法中添加所有需要的子控件重写模板:- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];if (self) {}return self;}2-1、添加所需要显示的子控件(不需要设置子控件的数据和frame,子控件要添加到conterntView中)2-2、进行子控件一次性初始化(只需要设置一次的,就不放到属性设置中,这样节约性能)
3、提供二个模型属性第一个模型:数据模型,存放文字和图片第二个模型:frame模型,存放数据模型和所有子控件的frame和cell的最终高度,拥有这三样
4、cell拥有一个frame模型(不要直接拥有数据模型,而有更好的上面3中的包含frame模型,frame包含数据模型和frame模型)重写模型属性的setter方法,在这个方法中设置子控件的显示数据和frame
5、重写frame模型属性的setter方法:在这个方法中设置子控件的显示数据和frame
6、frame模型数据的初始化只要初始化一次,依旧采取懒加载的方式(每一个cell对应的frame模型数据只加载一次)
重要知识点:
1、当UITableViewCell高度不能确定,而且每个都不同的时候,就写一个类xxxxFrame 来得到每个控件的frame
这篇关于XIB内容UitableView显示,行高不相同情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!