Определите, когда в первый раз появляется UIViewController - PullRequest
4 голосов
/ 15 июня 2011

До использования пользовательских флагов Я хотел проверить это с вами, людьми.

Есть ли встроенный способ для определения в viewWillAppear: или viewWillDisappear:, «вставлен ли» UIViewController в стек UINavigationController или контроллер навигации отклонил другое представление, открывая это? Я хочу выполнить один разовый код при первом появлении представления. Поскольку необходимо установить свойство self.bounds, метод viewDidLoad: не является правильным местом.

Я надеялся получить какие-то результаты с тем, что я использую для определения чего-то похожего на viewWillDisappear:, но на первом viewWillAppear: индекс уже установлен в 1:

[self.navigationController.viewControllers indexOfObject:self]

Так что это бесполезный фрагмент. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 15 июня 2011

То, как я это делаю, выглядит следующим образом ... Имейте флаг, который изначально установлен в false, когда вы помещаете дочерний контроллер представления в ваш контроллер навигации, установите этот флаг в true, нет в viewDidAppear, если флаг равен false тогда это начальная загрузка, если true, тогда она возвращается из дочернего контроллера, выталкивающего стек навигации.

0 голосов
/ 15 июня 2011

Нет встроенного способа проверить это. Это подробное обсуждение вашего запроса.

...