一、UITableView 的使用步骤:
1.告诉一共有多少组数据
-(NSInteger)numberOfSectionInTableView:(UITableView *)tableView;
2.告诉每一组一共有多少行
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
3.设置每组每行(cell)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
二、使用说明
1.多少组数据和显示多少行通常和数据息息相关,在开发中数据通常存储在plist文件中,需要以一定的方式加载到项目中(模型)。
2.设置cell的步骤:
(1).创建一个cell(需要考虑性能,对cell进行循环利用,注意缓存处理方式)
(2).为cell设置数据
(3).返回一个cell
3.设置cell的三种方式:
(1).使用系统提供的tableViewCell
(2).通过xib自定义,适用于长相一致的,如团购展示界面
(3).通过纯代码自定义cell,适用于有差距的,如表示高度不一样,有的cell拥有摸个属性,如微博展示界面。
三、自定义UITableViewCell
1.通过xib文件自定义View的步骤:
(1).新建一个xib文件,描述一个view的内部
(2).新建一个自定义的类,需继承自系统自带的类,继承自哪个类,取决于xib跟对象的class
(3).新建类的类型最好和xib的文件名保持一致
(4).将xib的控件和自定义的类的 .m文件进行连线
(5).提供一个类的方法,返回一个创建好的自定义的view(屏蔽从xib加载的过程)
(6).提供一个模型属性让外界传递模型数据
(7).重写模型属性的setter方法,在这里将模型数据展示到对应的子控件上面
2.通过代码方式自定义UITableViewCell
(1).新建一个继承自UITableViewCell的类
(2).重写 initWithStyle:reuseIdentifier: 方法
添加所有需要显示的子控件(不需要设置子控件的数据和frame,子控件要添加到contentView中)
对子控件进行一次性的属性设置(有些属性只需要设置一次,比如字体、固定的图片)
(3).提供2个模型
数据模型:存放文字和图片数据等
frame模型:存放数据模型和所有子控件的frame,cell的高度
(4).cell拥有一个frame模型(不要自己拥有数据模型)
(5).重写frame模型属性的setter方法,在这个方法中设置子控件的显示数据和frame
(6).frame模型数据的初始化已经采取了懒加载的方式(每一个cell对应的frame模型数据只加载一次)
四、使用代理的步骤
1.先搞清楚谁是谁的代理(delegate)
2.定义代理协议命名规范:控件类名+Delegate
3.定义代理方法:
代理方法一般都定义@optional;
代理方法都以控件名开头;
代理方法至少有一个参数,将控件本身传递出去
4.设置代理(delegate)对象。比如myView.delegate = xxx;
代理对象遵守协议;
代理对象实现协议里该实现的方法。
5.在恰当的时刻调用代理对象的代理方法,通知代理发生了什么事情(在调用之前判断代理是否实现了该代理方法)
UITableView控件使用总结
最新推荐文章于 2020-06-01 10:44:34 发布