文章目录
  • UITableView支持对表格行执行移动、删除和插入操作。
  • UITableView提供了editing属性来判断该表格控件是否处于编辑状态。可以使用setEdting:animated:方法切换表格的编辑状态。
  • UITableView提供了如下的方法来插入、删除和移动表格栏
    • -beginUpdates:在执行多个连续编辑之前,先调用该方法开始更新。
    • -endUpdates:在执行多个连续编辑之后,调用该方法提交更新。
    • -insertRowsAtIndexPaths:withRowAnimation:在一个或多个NSIndexPath处插入表格行。
    • -deleteRowsAtIndexPaths:withRowAnimation:删除一个或多个NSIndexPath处的表格行。
    • -moveRowAtIndex:toIndexPath:将指定NSIndexPath处的表格行移动到另一个NSIndexPath处。
    • -insertSections:withRowAnimation:在指定NSIndexPath所包含的一个或多个分区号对应的位置插入分区。
    • -deleteSections:withRowAnimation:删除指定NSIndexPath所包含的一个或多个分区对应的分区。
    • -moveSection:toSection:将指定区域移动到另一个位置。
  • 动态编辑表格,必须实现UITableView对应dataSource对象中的如下方法:
    • -tableView:canEditRowAtIndexPath:该方法的返回值决定指定NSIndexPath对应的表格行是否可编辑。
    • -tableView:commitEditingStyle:forRowAtIndexPath:该方法的返回值决定指定表格行编辑完成时激发。
    • -tableView:canMoveRowAtIndexPath:该方法的返回值决定指定的NSIndexPath对应的表格栏是否可移动。
    • -tableView:moveRowAtIndexPath:toIndexPath:该方法告诉该DataSource将指定的表格行移动到另一个位置。
  • UITableViewDelegate协议为编辑表格定义了如下方法:
    • -tableView:willBeginEditingRowAtIndexPath:开始编辑某个表格行时激发委托对象的该方法。
    • -tableView:didEndEditingRowAtIndexPath:当编辑完某个表格行是激发委托对象的该方法。
    • -tableView:editingStyleForRowAtIndexPath:该方法的返回值决定了该表格行的编辑状态。可以返回UITableViewCellEditingStyleNone、UITableViewCellEditingStyleDelete、UITableViewCellEditingStyleInsert这三个枚举值之一。
    • -tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:该方法返回的NSString将会作为删除指定表格行时确定按钮的文本。
    • -tableView:shouldIndetWhileEditingRowAtIndexPath:该方法返回的BOOL值决定指定表格行处于编辑状态时,该表格行是否应该缩进。默认编辑状态都会缩进。
  • 多分区表格以及分区索引
    • UITableView生成表格控件包含更多的分区,需要为表格的dataSource对象实现更多的方法。
      • -numberOfSectionsInTableView:该方法的返回值决定表格包含多少个分区。
      • -sectionIndexTitlesForTableView:该方法的返回值用于在表格右边建立一列浮动的索引。
      • -tableView:titleForHeaderInSection:该方法的返回值决定指定分区的页眉。
      • -tableView:titleForFooterInSection:该方法的返回值决定分区的页脚。
  • 直接使用UITableViewController
    • 只显示一个表格的话,可以之间继承UITableViewController,其已经实现了UITableViewDataSource和UITableViewDelegate协议。
文章目录