在 Grand Central Dispatch 我想启动一个微调器 -UIActivityIndicatorView
在开始长时间运行的任务之前旋转:
dispatch_async(cloudQueue, ^{
dispatch_async(dispatch_get_main_queue(),
^{
[self spinnerSpin:YES];
});
[self performLongRunningTask];
dispatch_async(dispatch_get_main_queue(),
^{
[self spinnerSpin:NO];
});
});
这是spinnerSpin
方法:
- (void)spinnerSpin:(BOOL)spin {
ALog(@"spinner %@", (YES == spin) ? @"spin" : @"stop");
if (spin == [self.spinner isAnimating]) return;
if (YES == spin) {
self.hidden = NO;
[self.spinner startAnimating];
} else {
[self.spinner stopAnimating];
self.hidden = YES;
}
}
我从未见过讨论过的一件事是[myView setNeedsDisplay]
和之间的区别(如果有的话) [myActivityIndicatorView startAnimating]
。他们的行为是否相同?
谢谢,
道格