首页 > 代码库 > UITableview 的局部刷新 insertSections

UITableview 的局部刷新 insertSections

今天想要做一个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: 删除指定节



UITableview 的局部刷新 insertSections