如何知道UITableView已经加载完成
来源:互联网 发布:php接收get数据 编辑:程序博客网 时间:2024/06/10 11:11
问题:
当table加载完所有的cell后,我想改变table的offset。
在sdk中有知道uitableview加载完成的方法吗?我在data source协议里面没有看到任何相关的代理方法。
答案:
补充@RichX的回答,lastRow 也可以使用 [tableView numberOfRowsInSection: 0] - 1 或者((NSIndexPath*)[[tableView indexPathsForVisibleRows] lastObject]).row
所以这里的代码应该是:
-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ if([indexPath row] == ((NSIndexPath*)[[tableView indexPathsForVisibleRows] lastObject]).row){ //end of loading //for example [activityIndicator stopAnimating]; }}
++++++++++++++++++++++++++++++++++++++
笔者补充
++++++++++++++++++++++++++++++++++++++
由于willDisplayCell是异步调用的,所以在上面的block里面不能即时更新UI,最好使用GCD通过主线程加上你的代码:
-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{ if([indexPath row] == ((NSIndexPath*)[[tableView indexPathsForVisibleRows] lastObject]).row){ //end of loading dispatch_async(dispatch_get_main_queue,^{ //for example [activityIndicator stopAnimating]; }); }}
0 0
- 如何知道UITableView已经加载完成
- 如何知道UITableView已经加载完成
- [iOS] 如何知道UITableView已经加载完成
- 如何知道ng-repeat循环的dom已经渲染完成
- 使用UITableView是如何判断reloadData加载数据已经结束
- 如何判断UITableView绘制完成?
- UITableView如何实现加载更多
- UITableView如何实现加载更多
- 如何知道另一form已经存在
- windows如何知道已经连接上Internet
- 【Animator】如何知道动画已经播放结束?
- 监听uitableview 数据加载完成重新设置tableview的高度
- 如何判断脚本加载完成
- 如何判断脚本加载完成
- 如何判断脚本加载完成
- 如何判断脚本加载完成
- 如何判断页面加载完成
- 如何判断网页加载完成
- linux-2.6.32在mini2440开发板上移植----移植yaffs2
- linux-2.6.32在mini2440开发板上移植 --配置USB外设
- linux-2.6.32在mini2440开发板上移植 ---W35型LCD驱动移植
- linux-2.6.32在mini2440开发板上移植 ---移植UDA1341 音频驱动
- Nexus启动报错:Unsupported major.minor version 51.0
- 如何知道UITableView已经加载完成
- 折腾开源WRT的AC无线路由之路-4
- JDBC连接oracle数据库(增删改查)
- Add select with HTML DropDownListFor
- 使用Nexus搭建Maven代理仓库
- 使用maven打包及发布源码
- Maven最佳实践:版本管理
- ray ban vqrgKl7vd
- Oakley iosEXt5wm