今天想要做一个tablewview刷新指定section的功能,网上找了找没有找到insertSections 的使用实例,大多都是随扣一提,主要是讲解了insertRowsAtIndexPath和deleteSections的使用。
1、调用insertSections 的时候要同时更新numberOfSectionsInTableView
2、需要在 [self.tableView
beginUpdates];
和 [self.tableView
endUpdates];
之间调用
3、在sectionIndex处插入指定section: [self.tableView
insertSections:[NSIndexSet
indexSetWithIndex:sectionIndex]
withRowAnimation:UITableViewRowAnimationFade];
4、 在一个指定的section范围内进行插入section:
<span style="white-space:pre"> </span>NSIndexSet *indices = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(1, 2)]; [tableView insertSections:indices withRowAnimation:UITableViewRowAnimationFade];
[tableView insertSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationFade]; [tableView insertSections:[NSIndexSet indexSetWithIndex:2] withRowAnimation:UITableViewRowAnimationFade];
如果需要动态的插入一组section,一定需要numberOfSectionsInTableView 进行动态更新section的值(section++)。---没有实现。
替代方案,每次加入一个section我就
<span style="color:#333333;">调用一次 [tableView insertSections:[NSIndexSet indexSetWithIndex:</span><strong><span style="color:#ff0000;">section-1</span></strong><span style="color:#333333;">] withRowAnimation:UITableViewRowAnimationFade];</span>
ps:
在UITableView中插入或者删除指定的行(或者节)使用的是如下几个API:
insertRowsAtIndexPath: withRowAnimation: 在指定位置插入行
deleteRowsAtIndexPath: withRowAnimation: 删除指定行
insertSections: withRowAnimation: 在指定位置插入节
deleteSections: withRowAnimation: 删除指定节
时间: 2024-10-18 19:30:17