2010-11-28 16 views
2

我的iPhone應用程序中有一些奇怪的行爲。我有一個NSTimer倒計時。當應用程序關閉時,我會節省時間並在應用程序重新打開時從當前倒計時器中減去該時間。NStimer倒計時顯示應用程序重新打開時的舊時間 - iphone拍攝屏幕圖像?

說我在03:12(3分​​12秒)關閉應用程序。我重新打開應用程序,我的代碼(在應用程序委託)減去關閉的時間(如5秒),然後再次設置倒計時標籤。它將它設置爲03:07。

但是,奇怪的行爲是,當我重新打開應用程序時說03:12爲SPLIT秒之前更新到03:07。然而,我無法在任何地方找到將要設置舊時間的地方。

所以,我的問題是,該視圖保留標籤值,直到它下次加載,或者是(如我所知),iphone獲取屏幕的圖像,所以當下次應用加載時它看起來像它的加載速度更快。如果這是正確的,有沒有辦法阻止?

我被這個卡住了!

回答

3

我的理解是iOS會在背景化您的應用程序之前生成關鍵窗口的快照,然後使用它來顯示前景動畫。我相信這是出於性能原因。

一個簡單的方法是簡單地將標籤隱藏在應用程序委託的applicationWillResignActive:方法中,然後在applicationWillEnterForeground:方法中再次更新並顯示它。

+0

真棒 - 工作的一種享受。我在動畫中使用淡入0.1秒,看起來很棒。非常感謝! – 2010-11-28 18:44:10

相關問題