UITableView高级

来源:互联网 发布:淘宝宝贝页面怎么装修 编辑:程序博客网 时间:2024/06/05 07:31

编辑表格

UITableView有一个editing属性来判断表格是否处于编辑状态,如果该表格控件处于编辑状态,那么该属性返回YES,否则返回NO 当表格处于编辑状态时,可以对表格进行移动,删除,添加,缩进。


删除行:

UITableView,每⼀行都可被删除,在删除前,就要使setEditing:animated⽅法将UITableView设置为可编辑状态 

然后,实现UITableViewDataSource协议中的tableView:commitEditingStyle:forRowAtIndexPath: 方法,最后,调用

deleteRowsAtIndexPaths:withRowAnimation:方法删除表格⾏。



添加行:

使用insertRowsAtIndexPaths:withRowAnimation: 方法添加行



移动行:

tableView:moveRowAtIndexPath:toIndexPath:移动行,方法中有3个参数

第一个参数tableView,代表视图
第⼆个参数sourceIndexPath,代表将要移动的⾏的索引路径
第三个参数destinationIndexPath,代表移动到目标位置的索引路径 




表格行缩进:

tableView:indentationLevelForRowAtIndexPath:方法返回值为NSInteger,代表缩进多少 



在UITableView中,还可以对表格行进行自定义,以改善系统的表格行不够美观的缺点

      新建⼀个类继承⾃UITableViewCell达到定制表格行,这样的话,我们可以通过继承UITableViewCell来添加任意的控件,设置任意的样式 

继承⾃UITableViewCell的类中的UI有几种创建⽅式:

第⼀种:使用代码的⽅式来创建

         新建一个类,继承了UITableViewCell,然后NewsCell类中重写⽗类的initWithStyle:reuseIdentifier:⽅法 


  最后,要将UITableViewCell替换成我们自定义的Cell


第二种:使用xib⽂件的方式来创建

        新建⼀个类继承⾃UITableViewCell,但是要记得勾选上”Also create XIB file” ,然后直接通过interface builder工具,拖动控件至xib,将类和xib⽂件的属性进行连结 ,最后替换系统cell



第三种storyboard,使⽤动态单元格原型定制表格⾏模型 

stroyboard,允许开发者这节在UITableView中设计单元格的模型

1,⾸先设置content为动态原型Dynamic Prototypes


2,根据需要设置原型的个数 


1,设置重⽤用标识符

2,修改表格⾏行⾼高

3,设计单元格的外观

4,为单元格中的控件设置tag

5,根据重⽤用标识使⽤用单元格

6,根据tag值获取控件,设置内容

7,如果表格⾏行⾼高⼤大于44,需要重写heightForRow⽅方法 



0 0
原创粉丝点击