viewDidAppear не вызывается, но вызываемый viewWillAppear отображается только в iOS5 - PullRequest
4 голосов
/ 18 октября 2011

Я использую View Controller, который содержит tabbarcontroller (4 вкладки). каждая вкладка имеет контроллер навигации.

У меня вопрос, viewcontroller, который использовался в контроллере навигации в том, что viewDidAppear не вызывает при вызове viewWillAppear?

Работает нормально в iOS4.x, но это условие появилось в iOS5.


viewcontroller
    | 
    | 
tabbarcontroller (4 tabs)
    |
    |
uinavigationController (Y)
    |
    |
uiViewcontroller  (X)

В этом 'X' контроллере viewDidAppear не вызывал только в iOS 5, но вызывал в iOS44.x ??


Я пробую путь

В 'Y' я использую

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    [viewController viewDidAppear:animated];
}

Это только запустит viewDidAppear 'X' один раз.

Мне это нужно каждый раз, когда появляется вид.

Пожалуйста, помогите Спасибо

Ответы [ 2 ]

0 голосов
/ 31 октября 2011

Я думаю, вы можете создать контроллер uitabbar, затем скрыть панель вкладок, затем, когда вы переключите контроллер представления, а затем просто удалите скрытое свойство .. тогда такая проблема не будет отображаться, я так думаю .....

0 голосов
/ 31 октября 2011

Вы можете установить свойство делегата вашего UITabBarController и ответить на метод didSelectViewController: для правильного вызова кода в viewController (X).

...