2011-04-23 27 views
3

如何防止GUI在接收到UILocalNotification後從鎖屏返回時重繪?在didReceiveLocalNotification中,我提出了一個模式視圖,但是我的視圖控制器的舊狀態在此之前顯示了一段時間。我如何防止這種情況?重新繪製來自鎖屏的didreceivelocalnotification上的GUI iphone

而且事件的順序,我得到我回來時從後臺對本地通知如下:

1. UIApplicationWillEnterForegroundNotification 
2. UIApplicationDidBecomeActiveNotification 
3. didReceiveLocalNotification 

當我從鎖屏:

1. didReceiveLocalNotification 
2. UIApplicationDidBecomeActiveNotification 

這是爲什麼差異,是否還有其他東西我錯過了?

謝謝

回答

3

下面是它是如何解決的。可能不是這樣,但它對我有用。由於我的應用程序是VoIP /音頻,它不來didFinishLaunchingWithOptions ...我發現,iOS使用從前一個狀態緩存的圖像動畫時,從背景或從睡眠模式恢復。所以解決方案基本上是將這個緩存的圖像與我的default.png圖像進行交換。我在applicationWillResignActive代表中完成。在那裏,我添加了一張Default.png圖片的模態視圖,並在applicationDidBecomeActive中將其解除。這真的很簡短。希望它能幫助有同樣問題的其他人。

1

您可以提供從本地通知啓動/恢復時顯示的自定義圖像。只需將本地通知上的alertLaunchImage屬性設置爲正確圖像的名稱即可。

從文檔:

該字符串是在應用程序包的圖像文件的文件名。此圖片是爲指定通知指定的啓動圖片;當用戶點擊動作按鈕(例如「查看」)或移動動作滑塊時,將使用圖像來代替默認啓動圖像。如果此屬性的值爲零(缺省值),系統將使用上一個快照,使用應用程序的Info.plist文件中由UILaunchImageFile鍵標識的映像,或者返回到Default.png。

alertLaunchImage

+0

我使用@「Default.png」,但似乎被忽略。它以某種方式顯示以前的視圖(或重繪它們)。我真的不知道如何去捕捉它。 – 2011-04-23 18:42:16