Iphone 如何在MonoTouch中注册UIApplicationWillEnterForegroundNotification

Iphone 如何在MonoTouch中注册UIApplicationWillEnterForegroundNotification,iphone,xamarin.ios,Iphone,Xamarin.ios,我有一个问题,当应用程序从后台返回时,UIView的viewWillAspect方法不会触发。这是一个问题,因为我的主应用程序屏幕显示从用户设置中检索的值,如果用户在应用程序处于后台时更改了这些值,我需要刷新屏幕。我已经读到,应该使用NSNotificationCenter注册UIApplicationWillEnterForegroundNotification 你是如何在MonoTouch中做到这一点的?或者有人知道确保屏幕始终保持最新的替代方法吗,即使是从后台返回时也是如此?您可以尝试以下

我有一个问题,当应用程序从后台返回时,UIView的viewWillAspect方法不会触发。这是一个问题,因为我的主应用程序屏幕显示从用户设置中检索的值,如果用户在应用程序处于后台时更改了这些值,我需要刷新屏幕。我已经读到,应该使用NSNotificationCenter注册UIApplicationWillEnterForegroundNotification


你是如何在MonoTouch中做到这一点的?或者有人知道确保屏幕始终保持最新的替代方法吗,即使是从后台返回时也是如此?

您可以尝试以下方法:

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

//snip

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

请记住,在从后台输入时,您需要为每个要更新的视图控制器执行此操作

谢谢,卢克。在应用程序从后台返回的情况下,ViewWillEmbeen没有启动,这有点麻烦。但我会尝试你在这里提出的解决方案。谢谢。卢克,在这里使用NSNotificationCenter设计得好吗?在AppDelegate中重写相应的方法,然后从那里处理更新不是更好吗?或者是NSNotificationCenter允许松耦合的论点?我假设在视图完成时,您也应该调用相应的RemoveObserver。在我的UIViewController中,我在VIEWWILLEXPEND和VIEWWILLEXPENCE中完成了这项工作,尽管它们都有错误,但它们的调用似乎是可靠和对称的。