ViewDidAppear UIViewController не вызывается после модального закрытия - PullRequest
4 голосов
/ 29 сентября 2010

UIViewController (View A) вызывает другой контроллер представления (View B), вызывая его как модальный элемент управления.

[selfsentModalViewController: ViewB animated: TRUE];

И представление B существует, вызывая:

[self dismissModalViewControllerAnimated: TRUE];

Когда это происходит, все выглядит правильно, за исключением того, что viewWillAppear и viewDidAppear View A не вызываются (хотя они вызываются во время инициализации приложения). Странная вещь ... я верю, что делал это раньше, но я не уверен, что происходит сейчас.

Что-то явно не так, что я делаю? Спасибо!

* ОБНОВЛЕНИЕ * Я только сейчас узнал, что это происходит только с типом перехода UIModalTransitionStylePartialCurl. Для всех других типов переходов родительский view-контроллер получает свое сообщение viewDidAppear просто отлично.

Так что теперь я должен делать!?!

1 Ответ

2 голосов
/ 12 декабря 2011

Я просто столкнулся с той же проблемой.

Я решил это, добавив делегат и метод делегата.

Поэтому, когда контроллер A открывает контроллер B в качестве контроллера модального представления с завитком страницы, я устанавливаю экземпляр контроллера b's.delegate вбыть контролирующим

В контроллере B я добавляю это:

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

    if (delegate)
        [delegate didCloseInfoViewController];
}
...