解决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];
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,282评论 30 472
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,120评论 3 38
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,869评论 1 92
  • “洛十六!让你买的早餐你买哪儿去了!” 河东狮吼在耳边炸开,洛十六掏了掏耳朵,无奈的笑了笑,“妈,我现在就去买。”...
    苏宁采阅读 466评论 0 1
  • 早晨的时候,一个同事给我说,你知道么,以前为啥领导从来不说你的任何行为如何的不好,现在开始有人说了吗,告诉你,有你...
    剽悍的兔子阅读 1,083评论 0 0