2011-05-11 56 views
4

我有一個問題,當應用程序從後臺返回時,UIView的ViewWillAppear方法不會觸發。這是一個問題,因爲我的主應用程序屏幕顯示的是從用戶設置中檢索的值,並且如果用戶在應用程序在後臺時更改了這些值,我需要刷新屏幕。我已經讀過,應該使用NSNotificationCenter註冊UIApplicationWillEnterForegroundNotification。如何在MonoTouch中註冊UIApplicationWillEnterForegroundNotification

你如何在MonoTouch中做到這一點?或者是否有人知道確保屏幕始終保持最新狀態的替代方法,即使從背景中返回時也是如此?

回答

7

你可以嘗試沿着線的東西:

//Register for the notification somewhere in the app 
NSNotificationCenter.DefaultCenter.AddObserver(UIApplication.WillEnterForegroundNotification, EnteredForeground); 

//snip 

void EnteredForeground (NSNotification notification) 
{ 
    // do your stuff here 
} 

請記住,你需要爲你想從後臺enterting何時更新每個視圖控制器做到這一點!

+0

謝謝,盧克。 ViewWillAppear在應用程序從後臺返回的情況下不會觸發,這有點令人討厭。但我會嘗試你在這裏提出的解決方案。謝謝。 – BruceHill 2011-05-11 16:30:20

+0

完美的作品!謝謝! :) – BruceHill 2011-05-11 20:33:51

+0

盧克,在這裏使用NSNotificationCenter是不錯的設計?重寫AppDelegate中的相應方法,然後處理從那裏的更新會不會更好?或者是NSNotifiactionCenters允許鬆耦合的論點? – Krumelur 2011-08-27 22:49:33