2010-04-09 30 views
0

我正在修改UI上的元素。沒有(額外)線程或任何異步。調用。但是我想給慢動作效果,所以請等待for循環中每個步驟的具體時間。我如何在不阻止用戶界面的情況下實現此目標在iPhone UI修改期間等待

具體來說,我在for循環中移動一個按鈕。我可以把

[NSThread sleepForTimeInterval:5.0]; 

在循環中,但按鈕的位置不反映在用戶界面上,直到循環結束;我想我應該打電話來'重新繪製'每個按鈕的迭代。

任何想法?

回答

3

如果您正在進行的修改是動畫屬性,則最好使用Core Animation。例如,如果您想緩慢更改視圖的框架,則可以執行類似操作:

[UIView beginAnimations:@""]; 
[UIView setAnimationDuration:5.0]; 
view.frame = CGRectMake(0, 0, 320, 460); 
[UIView commitAnimations];