当我调用insertRowsAtIndexPaths时,来自viewForFooterInSection的视图会出现意外动画

时间:2016-04-21 03:11:01

标签: ios

[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:indexPathsToBeInserted withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];


- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    if (section == someSection) {
        UIView *footerView = [[UIView alloc] init];
        footerView.backgroundColor = [UIColor someColor];
        return footerView;
    }
    else {
        return nil;
    }
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    if (section == someSection) {
        return 10;
    } 
    else {
        return 0;
    }
}

没什么特别的。
只需提供页脚视图并以某种方式触发插入行方法,页脚视图将像每次下降一样动画,您可以通过在模拟器中打开慢动画来更容易地观察它。

我不知道如何让动画消失,这真的很不受欢迎。

1 个答案:

答案 0 :(得分:0)

我在这里找到了类似的问题 - UITableView section footer view position after endUpdates

解决方法是将表格视图样式更改为Grouped。