2013-06-16 13 views
8

Il metodo applicationDidBecomeActive viene chiamato quando l'applicazione è attiva, esiste un modo per eseguire questo metodo per un determinato UIViewController? So che c'è il viewDidAppear per i controller di visualizzazione, ma sto cercando un metodo che viene chiamato quando l'app diventa di nuovo attiva E si trova su un certo UIViewController. Come posso raggiungere questo obiettivo?applicationDidBecomeActive in UIViewController?

risposta

29

È possibile ascoltare UIApplicationDidBecomeActiveNotification notifica:

@implementation CertainViewController 

- (void)viewWillAppear:(BOOL)animated { 
    [[NSNotificationCenter defaultCenter] 
    addObserver:self 
    selector:@selector(applicationDidBecomeActiveNotification:) 
    name:UIApplicationDidBecomeActiveNotification 
    object:[UIApplication sharedApplication]]; 
} 

- (void)viewWillDisappear:(BOOL)animated { 
    [[NSNotificationCenter defaultCenter] 
    removeObserver:self 
    name:UIApplicationDidBecomeActiveNotification 
    object:[UIApplication sharedApplication]]; 
} 

- (void)applicationDidBecomeActiveNotification:(NSNotification *)notification { 
    // Do something here 
} 

@end 
+0

Si prega di aggiungere chiamate a super all'interno metodi sovrascritto. – Ecil

+1

Dalle intestazioni: '- (void) viewWillAppear: (BOOL) animato; // Chiamato quando la vista sta per essere resa visibile. Default does nothing' e '- (void) viewWillDisappear: (BOOL) animato; // Chiamato quando la vista è chiusa, coperta o altrimenti nascosta. L'impostazione predefinita non fa nulla. Quindi non c'è bisogno di chiamare 'super'. – yonosoytu

Problemi correlati