2013-06-16 8 views
8

Uygulama etkin olduğunda applicationDidBecomeActive yöntemi çağrılıyor, bu yöntemi belirli bir UIViewController için yapabileceğim bir yol var mı? Görünüm denetleyicileri için viewDidAppear olduğunu biliyorum, ancak uygulama yeniden etkin olduğunda VE belirli bir UIViewController üzerinde olduğunda çağrılan bir yöntem arıyorum. Bunu nasıl başarabilirim?applicationDidBecomeActive?

cevap

29

Sen UIApplicationDidBecomeActiveNotification bildirim dinleyebilirsiniz:

@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

overriden yöntemleri içinde süper çağrıları ekleyin. – Ecil

+1

Başlıklar: '- (void) viewWillAppear: (BOOL) hareketli; // Görünüm görünür hale geldiğinde çağrılır. Varsayılan hiçbir şey yapmaz ve '- (void) görünümWillDisappear: (BOOL) canlandırılır; // Görünüm kapatıldığında, örtülü veya başka bir şekilde gizlendiğinde çağrılır. Varsayılan hiçbir şey yapmaz. Yani 'süper' demeye gerek yok. – yonosoytu

İlgili konular