iOS开发中,系统的UITableViewCell局限性很大,所以大多数情况下我们需要自定义一个tableViewCell,更复杂的情况是,每一行的cell高度都不一定,由cell的内容决定,典型的例子就是新浪微博了,这里可以提供一个自定义tableViewCell的思路.
1.新建一个继承自UITableViewCell的类。
2.重写initWithStyle:reuseldentifier:方法
^添加所有需要显示的子控件(不需要设置子控件的数据和frame,子控件要添加到contentView中)
^进行子控件一次性的属性设置(有些属性只需要设置一次,比如字体、固定的图片)
3.提供2个模型
^数据模型:存放文字数据、图片数据
^frame模型:存放数据模型、所有子控件的frame、cell的高度
4.cell拥有一个frame模型(不直接拥有数据模型)
5.重写frame模型属性的setter方法:这个方法中设置子控件的显示数据和frame
6.frame模型数据的初始化已经采取懒加载的方式(每一个cell对应的frame模型数据只加载一次)
通过代码自定义cell(cell的高度不一致的情况)
原文:http://www.cnblogs.com/shaohuaios/p/4036136.html