我使用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];
}];