当用户滚动到UITableView的底部时,我试图让UIActivityIndicatorView“显示并动画显示”....
到达表格视图的底部后,会发出一个Web请求,需要几秒钟才能完成,然后UIActivityIndicatorView应该“停止并隐藏”
我正在使用tableView触发UIActivityIndicatorView的外观:willDisplayCell:forRowAtIndexPath:
列出项目
但问题是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];
}
}
}
答案 0 :(得分:1)
好。从上面的代码片段中,我看到了一些问题:
willDisplayCell
方法中发生。以下是我认为你应该如何解决这个问题:
[tableView reloadData]
这应该可以让你实现你想要做的事情。
答案 1 :(得分:1)
您可以尝试在UITableView的cellForRowAtIndexPath:方法中执行此操作