UITableView判断reloadData结束(iOS)

原创 2015年09月18日 23:46:45

如果在reloadDate后需要立即获取tableview的cell、高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的。

reloadDate并不会等待tableview更新结束后才返回,而是立即返回,然后去计算表高度,获取cell等。

如果表中的数据非常大,在一个run loop周期没执行完,这时,需要tableview视图数据的操作就会出问题了。


apple并没有直接提供reloadData的api,想要程序延迟到reloadData结束在操作,可以用以下方法


方法1:

[self.tableView reloadData];
[self.tableView layoutIfNeeded];
//刷新完成


layoutIfNeeded会强制重绘并等待完成。


方法2:

[self.tableView reloadData];
dispatch_async(dispatch_get_main_queue(), ^{
    //刷新完成
});

reloadDate会在主队列执行,而dispatch_get_main_queue会等待机会,直到主队列空闲才执行。



版权声明:本文为博主原创文章,未经博主允许不得转载。博主微信:lofocus

实现UITableView的reloadData完成之后做一些操作

要想实现在reload之后弹出alertView,或者滚动到特定一行, 也许你会这么写[_tableView reloadData]; [_tableView scrollToRowAtIndexP...
  • yinyignfenlei
  • yinyignfenlei
  • 2016年11月29日 11:38
  • 2138

如何在UITableView reloadData结束后再进行下一步操作

最近在做一个小需求的时候碰了壁,具体情景是:点击一个talbeview的headerview会展开该section下面的cell,需求是要先reload原有的数据,再将新的cell以insert的方式...
  • lxlover314
  • lxlover314
  • 2014年12月29日 11:24
  • 1003

[iOS] 如何知道UITableView已经加载完成

利用runloop的特性       BOOL _reloadFinished = NO;     [tableView reload]; //这里会自动设置tableView layoutIfN...
  • Enjolras1024
  • Enjolras1024
  • 2016年05月31日 21:13
  • 1653

如何知道UITableView已经加载完成

m 当table加载完所有的cell后,我想改变table的offset。 在sdk中有知道uitableview加载完成的方法吗?我在data source协议里面没有看到任何相关的代理方法...
  • m372897500
  • m372897500
  • 2016年02月25日 11:04
  • 4754

判断UitableView reloadData 结束的方法

在开发过程中会有一些特殊处理的情况,最近开发就遇到了这样的问题,需要reloadData执行完了,才可以执行一些操作, 方法1: 是同步方法layoutIfNeeded会强制重绘并等待完成: [...
  • shangshang1029
  • shangshang1029
  • 2016年07月20日 16:38
  • 2083

解决CollectionView reloadData或者reloadSections时的刷新的闪烁问题

[UIView performWithoutAnimation:^{ [self.collectionView reloadSections:[NSIndex...
  • YLGWHYH
  • YLGWHYH
  • 2016年12月21日 23:47
  • 7789

获取tableView刷新完成状态

最近有个需求,需要获取tableView的刷新完成状态去做一些事情,找了好多方法,最终在http://stackoverflow.com/questions/16071503/how-to-tell-...
  • axllll
  • axllll
  • 2015年12月04日 10:31
  • 4430

UITableview reloadData 无效

UITableview reloadData 无效 碰到一个奇葩的原因 我在做UIMenuController的时候,需要将当前视图置为第一响应者,就是[self becomfirstRespon...
  • xiazailushang
  • xiazailushang
  • 2015年11月04日 13:46
  • 1217

由UITableView reloadData后引起的界面布局问题分析

最近在做一个小功能时遇到了以下的问题:在调用了reloadData后,再将tableView的contentoffset设置回(0,0)时发现tableView的位置比预期的要偏下一点。 本着学习的精...
  • dql870527
  • dql870527
  • 2014年03月09日 14:57
  • 4749

iOS UITableView reloadData问题总结

iOS UITableView reloadData 方法 无效,或者不执行,导致 TableView 不刷新 原因。 转载 http://www.cnblogs.com/zxykit/p/5664...
  • sinat_32425447
  • sinat_32425447
  • 2017年06月29日 10:51
  • 1137
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITableView判断reloadData结束(iOS)
举报原因:
原因补充:

(最多只允许输入30个字)