使用每个部分的单独动画删除多个表视图部分

时间:2012-05-20 16:27:38

标签: iphone ios uitableview

就像iPhone“设置”应用中的“Wi-Fi”一样,我有一个表格视图,其中第一部分中的开关切换是否显示以下部分。

我在更新insertSections: withRowAnimation:后使用deleteSections: withRowAnimation:tableView: numberOfRowsInSection:成功运作了。但是,与“设置”中的“Wi-Fi”不同,所有已删除的部分在逐渐消失之前会一起折叠

我希望获得与“Wi-Fi”相同的效果,当从视图中删除部分时,部分单独会崩溃。

建议的方法是什么?

1 个答案:

答案 0 :(得分:0)

我能够在每个部分调用deleteSections

static int nos = 4;

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return nos;
}

-(IBAction)onFadeTableButton:(id)sender
{
    NSMutableIndexSet *sectionsToDelete = [NSMutableIndexSet indexSet];
    [sectionsToDelete addIndex:3];

    nos = 3;
    [self.tableView deleteSections:sectionsToDelete
                  withRowAnimation:UITableViewRowAnimationTop];

    [sectionsToDelete addIndex:2];
    [sectionsToDelete removeIndex:3];
    nos = 2;
    [self.tableView deleteSections:sectionsToDelete
                  withRowAnimation:UITableViewRowAnimationMiddle];


    [sectionsToDelete addIndex:1];
    [sectionsToDelete removeIndex:2];
    nos = 1;
    [self.tableView deleteSections:sectionsToDelete
                  withRowAnimation:UITableViewRowAnimationMiddle];

    [sectionsToDelete addIndex:0];
    [sectionsToDelete removeIndex:1];
    nos = 0;
    [self.tableView deleteSections:sectionsToDelete
                  withRowAnimation:UITableViewRowAnimationMiddle];

}

代码很难看,因为我正在快速使用现有项目(包含4个部分的表视图),但这个想法必须清楚。请不要按原样使用它,请把它变得漂亮。