编辑表格
UITableView有一个editing属性来判断表格是否处于编辑状态,如果该表格控件处于编辑状态,那么该属性返回YES,否则返回NO。 当表格处于编辑状态时,可以对表格进行移动,删除,添加,缩进。
删除行:
UITableView中,每⼀行都可被删除,在删除前,就要使用setEditing:animated⽅法将UITableView设置为可编辑状态
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⽅方法