Popping ViewController не вызывает viewWillAppear при возвращении - PullRequest
5 голосов
/ 28 июля 2011

Всякий раз, когда я открываю контроллер представления вручную, viewWillAppear не вызывается на предыдущем UIViewController, который теперь появляется.

Это 2 обычных UIViewControllers.Моя установка приложения выглядит следующим образом:

- UINavigationController
   - UITabViewController with 5 UIViewControllers including UIViewControllerA
      -UIViewControllerA (When I get back here, viewWillAppear doesnt get called)
        -UIViewControllerB (I'm here, I want to pop to A)

Я пытался вызвать viewWillAppear вручную, но это тоже не помогает.Что может быть не так?Моим последним средством будет нажать B и A, а затем создать новый A и нажать его, но это только в качестве последнего средства (я полагаю, это будет работать?)

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Вы не можете иметь UITabBarController "внутри" UINavigationController.Возможно, поэтому некоторые из viewWillAppear методов не вызываются.Взгляните сюда: Контроллер панели вкладок внутри контроллера навигации или общий доступ к корневому представлению навигации

1 голос
/ 21 февраля 2019

Я создал этот класс, который решает вашу проблему.Я использовал его во многих моих собственных проектах.

Просто установите его в качестве делегата вашего контроллера навигации и внедрите простой один или два метода в вашем контроллере представления - которые будут вызываться, когда представление будет показано или было показано с помощью NavigationController

Вот ГИСТ, показывающий код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...