Выполнение принудительного перехода из контроллера представления вкладок

У меня есть приложение контроллера панели вкладок, контроллер панели вкладок разветвлен на несколько контроллеров представления «вкладки», в одном из контроллеров представления я хочу перенаправить пользователя на другой контроллер представления. Я создаю переход от этого контроллера представления вкладок к целевому контроллеру представления и присваиваю ему идентификатор. И я вызываю «performSegueWithIdentifier» в «viewDidAppear», чтобы перенаправить пользователя.

Он отлично работает, когда переход «Модальный», однако, поскольку я хочу сохранить вкладки, я хочу вызвать переход через «Push». Однако, как только я изменил переход на «Push», он больше не работает (он не пытается перейти к целевому контроллеру представления). Приложение не зависало на симуляторе, а просто оставалось на контроллере представления вкладки Origin.


person user1416492    schedule 28.05.2012    source источник
comment
Я думаю, что нашел ответ... Push segue работает только под контроллером навигации, поэтому мне нужно встроить контроллер панели вкладок под контроллер навигации...   -  person user1416492    schedule 28.05.2012


Ответы (1)


«Push» — это механизм для стеков UIViewController, внедренный в контроллер UINavigation.

Вы не можете выполнить push, если контроллер представления на вкладке не является контроллером навигации.

Итак, в качестве примера

TabBar VC 

...Tab 1 -> UIViewController
...Tab 2 -> UIVIewController
...Tab 3 -> UINavigationController -> UIViewController(root)

Только вкладка 3 может выполнить push-переход.

person Warren Burton    schedule 28.05.2012