我有一个奇怪的问题。我有一个按钮,按下按钮我正在做
以下
- (IBAction)btnPressed:(id)sender {
[ _spinner startAnimating];//where _spinner is a ActivityIndicator
[self showResult];
}
-(void) showResult{
sleep(10);
resultText.text=@"Hi..Sorry.It has been a long wait";
}
但即使showResult方法被调用
,微调器也永远不会开始动画正确。我觉得这很奇怪。当我在viewDidLoad
中放置[_spinner startAnimating]时它完美无缺。任何帮助是极大的赞赏。
答案 0 :(得分:2)
在主线程上调用sleep方法导致UI挂起,这就是为什么你无法看到活动指示符
一种方法:
- (IBAction)actionbuton:(id)sender {
[_activity startAnimating];
[self performSelectorInBackground:@selector(backgroundProcess) withObject:nil];
}
- (void) backgroundProcess{
sleep(4);
[self performSelectorOnMainThread:@selector(processingDone) withObject:nil waitUntilDone:NO];
}
- (void) processingDone{
[_activity stopAnimating];
}
答案 1 :(得分:0)