我有两个关于事件指示器的问题: 1. Activity Indicator 没有显示在 UIViewController 上
我在 .xib 文件中添加了事件指示器。单击按钮时,它应该开始动画。当收到服务器的响应时,在转到下一页之前它应该停止动画。 我是这样做的:
activityIndicator.hidden = NO;
[activityIndicator performSelector:@selector(startAnimating) withObject:nil afterDelay:0.1];
[self.view bringSubviewToFront:activityIndicator];
....rest of code here....
activityIndicator.hidden = YES;
[activityIndicator stopAnimating];
- 事件指示器未显示在 UITableView 上
对于 TableView ,我以相同的方式进行操作,但在 didselectrowatindexpath 上...
对于 tableview,我也尝试将事件 View 添加到单元格附件,但仍然没有显示
在这两种情况下,事件指示器都没有显示。
请帮忙
谢谢
最佳答案
如果所有这些代码都在一个方法中或响应一个事件,那么在您返回事件循环之前,对 View 所做的任何更改都不会可见。您将 activityIndicator.hidden 设置为 NO,然后在 UI 有机会刷新之前再次将其设置为 YES。
你显然也在开始之前停止了动画。
您需要做的是使事件指示器在此处可见并开始其动画。然后安排要完成的工作(启动异步网络连接,或将一些工作放入队列,或任何你需要完成的工作)并从此方法返回,以便 UI 可以刷新,可以绘制指标,动画真的可以开始了。
然后在工作完成后的某个时刻,您可以隐藏指示器并停止动画。但是你不能在事件循环的一个回合内在主线程上完成所有这些。您的任何更改都将不可见,因为在此方法执行时根本不会在此处进行绘图(假设这是在主线程上)
我希望这是有道理的?
关于iphone - 事件指示器未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8600125/