我目前有一个非常奇怪的错误。
一个方法被调用,它应该通过停止它来隐藏UIActivityIndicatorView
(启用停止后自动隐藏)和一个名为UIImageView
的{{1}}。
作为替代品,它应该显示另一个名为badIndicator
的{{1}}。
UIImageView
控制台立即打印以下内容,但屏幕上发生更改大约需要三秒钟。
goodIndicator
我尝试在对象和父视图上调用[goodIndicator setHidden:NO];
[badIndicator setHidden:YES];
[refreshIndicator stopAnimating];
NSLog(@"statussetting good should be completed");
方法,并用alpha替换hidden。
仍然遇到同样的问题。
答案 0 :(得分:11)
听起来你是从后台线程调用它。与UIKit
的所有交互都需要从主线程发生。尝试使用:
dispatch_async(dispatch_get_main_queue(), ^{
[goodIndicator setHidden:NO];
[badIndicator setHidden:YES];
[refreshIndicator stopAnimating];
NSLog(@"statussetting good should be completed");
});
答案 1 :(得分:2)
你需要在主线程中调用这个方法。尝试使用:
-(void)hideControls {
[goodIndicator setHidden:NO];
[badIndicator setHidden:YES];
[refreshIndicator stopAnimating];
NSLog(@"statussetting good should be completed");
}