2016-02-01 4 views
0

У меня есть контроллер навигации с контроллером детского вида. Контроллер дочернего представления выполняет определенную задачу, когда он загружается, когда приложение запускается в первый раз. Эта конкретная задача не должна повторяться. Когда кнопка нажата в контроллере детского просмотра, она переходит в другую сцену. Контроллер навигации автоматически создает кнопку возврата. При нажатии кнопки «Назад» предыдущая сцена загружается, но я не хочу, чтобы конкретная задача, о которой я упоминал ранее, повторялась. Каков наилучший способ достичь этого?Как определить, загружен ли View Controller из-за нажатия кнопки «Навигационный контроллер, нажата кнопка« Назад »,

ответ

1

Нажатие кнопки «Назад» в навигационной панели навигационного контроллера должно вывести текущий контроллер и выставить предыдущий контроллер просмотра, не загружая его снова. Будет вызываться метод viewWillAppear старого контроллера вида, но viewDidLoad не будет.

встраивания переход, который загружает контроллер зрения ребенка не должен стрелять либо (при условии, что вы с использованием видов контейнеров и встраивать перетекают. Игнорируйте это немного, если это не так.)

+0

В viewDidAppear, я сую всплывающий в первый раз. Очень важно, чтобы я всплывал в viewDidAppear, потому что я хочу, чтобы пользователь увидел анимацию. Как я могу всплывать один раз, а не при нажатии на кнопку назад. – neo

+1

Добавьте переменную экземпляра 'firstTimeRendered'. Если это значение FALSE в viewDidAppear, установите значение true и сделайте анимацию. –

Смежные вопросы