代码动态创建UITableViewCell小结

在iOS开发过程中,UItableView的使用可以说是非常频繁,各式各样的界面布局有时候通过UITableView来解决会比较容易一下,这就好比以前进行网页开发时使用table能够更好的解决一些布局的难题。

最近在改一下老项目过程中,发现有些用到UITableView的地方,因为cell尺寸不一的情况会出现各种问题,现在总结一下纯代码动态创建UITableViewCell的一些步骤,当作是对自己的一些总结,跟大家分享一下,大家也多多指教。

在学习的过程中,曾经看到一些视频和资料对cell的封装感觉还是挺不错的,这里重新梳理一下。

通过代码动态创建cell大体可以分为5个步骤:

 1.新建一个集成了UITableViewCell的类,同时提供一个通过tableView调用initWithStyle:reuseIdentifier: 返回cell的方法,更好的实现封装。

2.重写initWithStyle:reuseIdentifier: 方法 (添加所有的字控件-不需要设置数据和frame,字控件要添加到contentView) 进行子控件一次性的属性设置。因为cell子控件只需要初始化一次就好,所以写在initWithStyle:reuseIdentifier: 方法中。

3.提供2个模型分别是数据模型和frame模型。 数据模型:存放文字数据等。 frame模型:数据、所有子控件、frame、cell高度等。实现数据的设置和控件frame的设置分离,更好封装。

4.cell拥有frame(不直接拥有数据模型)。就是cell里面设置步骤3设置的frame模型,通过实现frame的set方法来对cell进行赋值。

5.重写frame模型的setter方法:在这方法设置子控件的显示数据和frame。

通过cell、数据、frame分离,让代码更加清晰,也更好的面向对象。

这是学习中的一些总结笔记,可以参考git上面的模拟微博的项目,有封装自定义cell的代码,有疑问可以留言一起进步。

git地址:https://github.com/chlin7/chlCollection


你可能感兴趣的:(IOS,ios,ios开发,UItableViewCell)