iphone - 事件指示器未显示

标签 iphone objective-c ios uiactivityindicatorview

我有两个关于事件指示器的问题: 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];
  1. 事件指示器未显示在 UITableView 上

对于 TableView ,我以相同的方式进行操作,但在 didselectrowatindexpath 上...

对于 tableview,我也尝试将事件 View 添加到单元格附件,但仍然没有显示

在这两种情况下,事件指示器都没有显示。

请帮忙

谢谢

最佳答案

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

你显然也在开始之前停止了动画。

您需要做的是使事件指示器在此处可见并开始其动画。然后安排要完成的工作(启动异步网络连接,或将一些工作放入队列,或任何你需要完成的工作)并从此方法返回,以便 UI 可以刷新,可以绘制指标,动画真的可以开始了。

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

我希望这是有道理的?

关于iphone - 事件指示器未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8600125/

相关文章:

objective-c - 标题中有两行文本的 UIButton (numberOfLines=2)

iphone - 关于 UISearchBar :textDidChange of predicateWithFormat

iphone - 使用 AVAudioPlayer 在后台播放声音而不停止 ipod 音乐

iphone - CoreTelephony 框架 iOS 7

iPhone iOS 大型 UIView 在显示时被裁剪为 320x460。如何预防?

iphone - viewDidLoad 中的异常 animateWithDuration 行为

iphone - NSLocalizedString - 格式不是字符串文字且没有格式参数 (xcode)

ios - 从 iPhone 上的 Exchange IMAP 邮箱中删除邮件

android - Ionic 2 Firebase initializeApp 和 onAuthStateChanged 慢

iphone - 如何捕捉视频