爲什麼下面的代碼日誌「完成」只要它被觸發?動畫塊 - 完成將立即觸發
[UIView animateWithDuration:0.3
animations:^{
NSLog(@"Start");
}
completion:^(BOOL finished){
NSLog(@"done");
}
];
爲什麼下面的代碼日誌「完成」只要它被觸發?動畫塊 - 完成將立即觸發
[UIView animateWithDuration:0.3
animations:^{
NSLog(@"Start");
}
completion:^(BOOL finished){
NSLog(@"done");
}
];
因爲你沒有真正動畫做(的NSLog不能動畫)。您需要動畫化對象,否則將立即調用完成塊。如果沒有任何動畫,0.3秒的持續時間將被忽略。
好吧,我正在改變一些事情,併發生同樣的事情。 – Morkrom
因爲你不是動畫任何東西。如果您更改動畫塊中某個UIView的值,您將在0.3秒延遲後正確地看到「完成」輸出。
我使用5秒的延遲測試了您的代碼,只添加了一些動畫來確認。
好的,如果你正在改變視圖的價值並且...會發生同樣的現象? – Morkrom
可能是因爲動畫塊中沒有動畫。 – scord