在UITableView中插入或者删除指定的行(或者节)使用的是如下几个API:
- insertRowsAtIndexPath: withRowAnimation: 在指定位置插入行
- deleteRowsAtIndexPath: withRowAnimation: 删除指定行
- insertSections: withRowAnimation: 在指定位置插入节
- deleteSections: withRowAnimation: 删除指定节
调用以上API之前,必须先调用beginUpdates,插入/删除数据完成后再调用endUpdates。
API用法示例:
[tableView beginUpdates];
NSArray *arrInsertRows = [NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]];
[tableView insertRowsAtIndexPaths:arrInsertRows withRowAnimation:UITableViewRowAnimationB
[tableView endUpdates];
需要注意的是,在增加删除行操作时,必须更改tableView中Cell的总数,使其等于增加删除行操作执行完后应有的总数,例如:表格中原有2个 section,各10个row,则若对第一个section增加/删除5行,则对应的numberOfRowsInSection方法中须返回的值分别 为 if (0 == section) return 15; 以及