[UIView animateWithDuration:1 animations:^{
self.animateView.frame = CGRectMake(100, 100, 50, 50);
} completion:^(BOOL finished) {
if (finished) {
NSLog(@"animation finished");
}
}];
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
NSLog(@"after runUntilDate");
上面那么多代码,这是为什么?如果我评论runUntilDate行会发生什么?
更新: 如果我将下一行(NSLog)添加到最后一行,它将在动画完成后才会执行。看起来像runUntilDate阻塞主线程,为什么我们需要在这里阻塞线程?