为什么需要在动画语句后添加runUntilDate?

时间:2017-05-15 09:34:03

标签: ios uiview uianimation runloop

[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阻塞主线程,为什么我们需要在这里阻塞线程?

1 个答案:

答案 0 :(得分:0)

在你的情况下,我想,没有。见here