2015-10-04 54 views
1

我有一些代码触发活动指标:活动指示灯并不总是呈现

activityIndicator.startAnimating() 

一旦触发我不断地推出一些后台任务(例如去到服务器,完成后获取数据,回调)。

我遇到的问题是活动指示器的行为不一致,从UI上显示它有时可见/获得渲染和动画,有时不会(特别是如果应用程序在后台并返回到前景)

我不知道我需要做什么才能确保它在我继续启动后台任务之前调用startAnimating()时始终呈现在屏幕上。

任何指导将不胜感激。

谢谢。

回答

1

我认为这是因为你可能在主线程之外使用UI。尝试包装代码

dispatch_async(dispatch_get_main_queue(), ^{ 
    // Your code to run on the main queue/thread 
    self.activityIndicator.startAnimating() 
}); 
+0

问题解决了!我没有意识到,即使我期待'按顺序执行',我不得不'dispatch_async'。 – goggelj