我已經連接了下面兩種方法來分離我的UI中的按鈕,但注意到在按下「VERSION 1」按鈕之後,我無法再次按下按鈕,直到方法內的動畫持續時間結束。我的理解是,動畫使用自己的線程,以免阻塞主應用程序。做animateWithDuration:動畫:塊主線程?
// VERSION 1
-(IBAction)fadeUsingBlock {
NSLog(@"V1: Clicked ...");
[myLabel setAlpha:1.0];
[UIView animateWithDuration:1.5 animations:^{
[myLabel setAlpha:0.0];
}];
}
的老式版本(下圖)確實允許動畫計時器結束前,簡單地重置計時器再次啓動按鈕被壓抑。如果這兩者的工作原理相同,我是否錯過了某些東西,或者在3.2和4之間的操作有變化?
// VERSION 2
-(IBAction)fadeUsingOld {
NSLog(@"V2: Clicked ...");
[myLabel setAlpha:1.0];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[myLabel setAlpha:0.0];
[UIView commitAnimations];
}
乾杯加里
啊是有道理的,我已經錯過了在該文檔中該選項,我會看它。非常感謝,非常感謝。 – fuzzygoat 2010-07-13 18:42:28
謝謝你。該死的,這是在擾亂我。實際上它很煩人,它默認情況下不會啓用,因爲它確實會阻止與正在動畫的視圖進行交互,但實際上它會阻止整個UI! – runmad 2011-04-14 03:48:46
男人,如果這是在即將到來的iOS 5.0中修復的話,會不會很好... –
2011-08-12 22:31:41