我目前有一个非常奇怪的错误。
调用了一个方法,该方法应该通过停止它来隐藏UIActivityIndicatorView
(启用了停止时自动隐藏)和一个叫做UIImageView
的badIndicator
。
作为替换,应该显示另一个名为UIImageView
的goodIndicator
。
[goodIndicator setHidden:NO];
[badIndicator setHidden:YES];
[refreshIndicator stopAnimating];
NSLog(@"statussetting good should be completed");
控制台会立即打印以下内容,但是大约需要三秒钟才能在屏幕上进行更改。
2013-05-31 20:24:57.835 app name[5948:1603] statussetting good should be completed
我尝试在对象和父视图上调用
setNeedsDisplay
方法,并且还用alpha替换了hidden。仍然会遇到同样的问题。
最佳答案
听起来您是从后台线程调用此函数的。与UIKit
的所有交互都需要在主线程中进行。尝试使用:
dispatch_async(dispatch_get_main_queue(), ^{
[goodIndicator setHidden:NO];
[badIndicator setHidden:YES];
[refreshIndicator stopAnimating];
NSLog(@"statussetting good should be completed");
});