插入UITableView行而不包含动画

时间:2017-05-03 06:41:14

标签: ios uitableview

我使用insertRowsAtIndexPaths:withRowAnimation,并使用UITableViewRowAnimationNone进行设置。然后我使用下面的方法 Insert UITableView row without ANY animation

但重新加载tableview时会导致闪光。我该如何修理闪光灯? 谢谢。

我的演示想要拉取更多本地数据并显示在tableview上,但最后一个位置是之前的contentOffset。所以我覆盖了UITableView的setContentSize函数。

- (void)setContentSize:(CGSize)contentSize {
    if (!CGSizeEqualToSize(self.contentSize, CGSizeZero)) {
        if (contentSize.height> self.contentSize.height) {
            CGPoint offset = self.contentOffset;
            offset.y += contentSize.height - self.contentSize.height;
            self.contentOffset = offset;
        }
    }

    [super setContentSize:contentSize];
} 

拉动刷新时,加载数据并刷新tableview:

for (long j = 0; j < result.count; j++) {
                NSIndexPath *index = [NSIndexPath indexPathForRow:j inSection:0];
                [array addObject:index];
            }

            [UIView performWithoutAnimation:^{
                [_mainTableView beginUpdates];
                [_mainTableView insertRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone];
                [_mainTableView endUpdates];

            }];

0 个答案:

没有答案
相关问题