Я работаю над устаревшим приложением и обнаружил, что мои методы view[Will/Did]Disappear
не всегда срабатывают должным образом.
В случае, у меня есть (custom) UIViewController
, установленный как rootViewController в AppDelegate. Этот rootViewController имеет UINavigationController
, который имеет два контроллера отображения. Когда пользователь нажимает кнопку "домой", пользователь выходит из системы. Когда он позже вернется в приложение, приложение вызывает [UINavigationController popToRootViewControllerAnimated:YES]
, а затем отображает модальный UIViewController
для входа.
Проблема заключается в следующем: когда я обычно нажимаю/нажимаю на UINavigationController
, мой метод viewWillDisappear
вызывается правильно. Но когда я использую метод popToRootViewControllerAnimated:
, viewWillDisappear
не вызывается ни на один из обработчиков viewControllers.
Поиск в Интернете имеет только две причины:
- Если вы используете UINavigationController в качестве подзаголовка, вы должны вызвать
view[Will/Did]Disappear
самостоятельно. - Не вызывать соответствующие супер методы
Ни одно из этих предложений не относится к моему приложению. И я понятия не имею, где искать. У кого-нибудь есть предложение о том, что было сделано неправильно в приложении?