解决iOS UITableView reloadData 时闪屏的问题

具体参考:
因为项目的需要, 做聊天页面, 发消息时需要 reloadData , 有闪屏的现象, 采用scrollToRowAtIndexPath:滚动到最后时,又会出现从上往下滚动的现象,达不到像微信/QQ页面那样顺滑的从下往上顶的效果; 为解决这个问题,参考了Stack Overflow ,具体参考地址:[http://stackoverflow.com/questions/11631104/uitableview-reloaddata-how-to-stop-flicker]
具体代码如下, 供参考:

//解决刷新tableView  reloadData时闪屏的bug
self.tableView.hidden = YES;
[self.tableView reloadData];
if ([self.dataArray count] > 1){
// 动画之前先滚动到倒数第二个消息
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.dataArray count] - 2 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}
self.tableView.hidden = NO;
// 添加向上顶出最后一个消息的动画
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.dataArray count] - 1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
});

你可能感兴趣的:(解决iOS UITableView reloadData 时闪屏的问题)