viewWillAppear, viewDidAppear не вызывается, не запускается

(Это и вопрос, и ответ, так как потребовалось немало усилий, чтобы найти реальный ответ.)

Симптом:viewWillAppear, viewDidAppear не вызывались в моем UIViewController.

Причина: встраиваниеUINavigationController или жеUITabBarController (мой случай) вUIViewController как-то прерывает вызов этих методов.

Решение: позвоните им вручную вUIViewController который содержит вышеупомянутоеUINavigationController / UITabBarController.

Например (при условииprojectNavigationController твойUINavigationController):

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [projectNavigationController viewWillAppear:animated];
}

-(void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated];
    [projectNavigationController viewWillDisappear:animated];
}

-(void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated];
    [projectNavigationController viewDidAppear:animated];
}

-(void)viewDidDisappear:(BOOL)animated { 
    [super viewDidDisappear:animated];
    [projectNavigationController viewDidDisappear:animated];
}

В моем случае у меня был внутреннийUITabBarController и я назвал методы соответственно, и все было решено.

(Атрибуция по решению:http://davidebenini.it/2009/01/03/viewwillappear-not-being-called-inside-a-uinavigationcontroller/)

Ответы на вопрос(2)

Ваш ответ на вопрос