2010-12-06 143 views
1

爲什麼這不起作用?UIView動畫不尊重延遲?

[UIView animateWithDuration:0 delay:3 options:0 animations:^(void) { 
    NSLog(@"after duration, please!"); 
} completion:nil]; 

NSLog立即燃燒。

我不是在尋找解決方法(有很多),而是想知道爲什麼會。

回答

3

核心動畫的中間幀實際上是在另一個後臺線程中發生的。動畫的第一幀和最後一幀通常是立即創建的。所以NSLog可以在主UI線程中觸發,而無需等待甚至不知道任何正在進行的背景動畫。

+0

有趣的答案。謝謝... – 2010-12-06 08:27:23