活动指标未显示

iOS*_*Dev 4 iphone objective-c uiactivityindicatorview ios

我有两个问题与活动指示器:1.活动指示器没有显示在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];
Run Code Online (Sandbox Code Playgroud)
  1. 活动指示器未显示在UITableView上

对于表格视图,我这样做,但在didselectrowatindexpath ...

对于tableview,我也尝试将活动视图添加到单元附件,但仍然没有显示

在这两种情况下,活动指标都没有出现.

请帮忙

谢谢

Fir*_*eer 11

如果所有这些代码都在一个方法中或响应一个事件,那么在返回事件循环之前,对视图的任何更改都不可见.您将activityIndi​​cator.hidden设置为NO,然后再次将其设置为YES,然后UI才有机会刷新.

你也可以在开始之前停止动画.

您需要做的是在此处显示活动指示器并开始其动画.然后安排要完成的工作(启动异步网络连接,或者将一些工作放入队列,或者你需要完成的任何工作)并从这个方法返回,以便UI可以刷新,可以绘制指标,并且动画实际上可以开始.

然后在工作完成的某个时刻,您可以隐藏指示器并停止动画.但是你不能在事件循环的一个回合中在主线程上做所有这些.您的所有更改都不可见,因为在执行此方法时,此处根本不会发生任何绘图(假设这是在主线程上)

我希望这是有道理的?