2012-02-22 19 views
1

我是在開發階段編寫一個簡單的字典應用程序供個人在iPhone上使用的新開發人員,我想知道使用什麼方法來控制多長時間我的話顯示在屏幕上。如何在給定的時間內顯示NSArray

我已經試驗了NSTimerperformSelector:withObject:afterDelay:但我想知道這些是否是最簡單,最有效的方法來解決這個問題。

我不確定是否應該使用像NSThread sleepForTimeInterval:這樣的睡眠方法,因爲我希望在屏幕上顯示單詞列表時可以選擇在應用中進行其他操作。

任何指針?

萬分感謝。

回答

7

NSTimerperformSelector:withObject:afterDelay:都是不錯的選擇。在我看來,performSelector:withObject:afterDelay:似乎更直接地使用。

你不想使用睡眠,尤其是在主線程中。這會讓您的應用無響應。

你可能也想看塊動畫。例如,你可以淡化這個詞然後關閉。請參閱:[UIView animateWithDuration:delay:options:animations:completion:]。起初有點嚇人,特別是如果你不熟悉代碼塊。但是這種方法給你很多控制。

+0

非常感謝您的提示@picciano!我會盡量無所畏懼地嘗試使用代碼塊方法。 – 2012-02-22 23:15:56

3

可以使用大中央調度的dispatch_after功能:

double delayInSeconds = 2.0; 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     <#code to be executed on the main queue after delay#> 
}); 
+0

酷我剛看到這個。感謝您的選擇。我會給它一個! – 2012-02-22 23:17:08

+0

另一個技巧,如果你開始在Xcode中輸入'dispatch_after',它將爲所有這些東西創建一個快速模板。 – diatrevolo 2012-02-23 18:58:56

相關問題