2011-05-11 1 views
4

J'ai un problème que la méthode ViewWillAppear pour un UIView ne se déclenche pas lorsque l'application revient de l'arrière-plan. Ceci est un problème, car mon écran d'application principal affiche des valeurs extraites des paramètres utilisateur, et si l'utilisateur les a modifiées pendant que l'application était en arrière-plan, j'ai besoin d'actualiser l'écran. J'ai lu qu'il faut s'enregistrer pour le UIApplicationWillEnterForegroundNotification en utilisant NSNotificationCenter.Comment vous inscrire à UIApplicationWillEnterForegroundNotification dans MonoTouch

Comment faites-vous cela dans MonoTouch? Ou est-ce que quelqu'un connaît une autre façon de s'assurer que l'écran est toujours mis à jour, même en revenant de l'arrière-plan?

Répondre

7

Vous pouvez essayer quelque chose le long des lignes de:

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

//snip 

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

Gardez à l'esprit que vous devez le faire pour chaque contrôleur de vue que vous souhaitez mettre à jour quand enterting de l'arrière-plan!

+0

Merci, Luke. C'est un peu gênant que le ViewWillAppear ne se déclenche pas dans le cas de l'application qui revient de l'arrière-plan. Mais je vais essayer la solution que vous proposez ici. Merci. – BruceHill

+0

Fonctionne parfaitement! Merci! :) – BruceHill

+0

Luke, est-ce un bon design d'utiliser NSNotificationCenter ici? Ne vaudrait-il pas mieux remplacer la méthode correspondante dans AppDelegate, puis gérer la mise à jour à partir de là? Ou est l'argument que NSNotifiactionCenters permet un couplage lâche? – Krumelur

Questions connexes