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

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模型数据只加载一次)
posted @ 2014-10-19 22:42  对酒狂歌吃馍  阅读(149)  评论(0编辑  收藏  举报