当用户滚动到 UITableView 的底部时,我试图让 UIActivityIndicatorView “出现并设置动画”……。
到达表格视图的底部后,会发出一个需要几秒钟才能完成的网络请求,然后 UIActivityIndicatorView 应该“停止并隐藏”
我正在使用 tableView:willDisplayCell:forRowAtIndexPath 触发 UIActivityIndicatorView 的外观:
项目清单
但问题是 UIActivityIndicatorView 直到整个方法(即 tableView:willDisplayCell:forRowAtIndexPath:) 被调用后才会出现在 iPhone 屏幕上,到那时它也已经被隐藏了。
关于如何:
- 显示指标视图
- 发出网络请求
- 隐藏指标视图?
新线程?更好的方法?
谢谢!!
具体来说,我的功能看起来像这样
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.results && indexPath.row == [self.results count] - 1) {
[self.loadingSignal setHidden:NO]; // <====== my UIActivityIndicatorView is called "loadingSignal"
[self.loadingSignal startAnimating];
/// make web request that will take a few seconds
[self.loadingSignal setHidden:YES];
[self.loadingSignal stopAnimating];
}
}
}