Segue from Tab controller ДАЛЕЕ

У меня есть контроллер вкладок, который имеет 7 вкладок.

Я нахожусь на странице под названием Устройство. Кнопка "Назад" показывает "<Устройства"

Перейдите к любой из 4-х видимых вкладок, и кнопка "Назад" пункта назначения говорит "<Устройство", чего я и ожидал.

Однако, если я нажму на кнопку "БОЛЬШЕ" на вкладке и выберите там вкладку под названием "Управление", если она перейдет в другое представление, кнопка "Назад" по-прежнему будет "<Устройства", а в заголовке страницы по-прежнему будет "Устройство".

Если я переупорядочиваю вкладки так, чтобы "Управление" не находилось в БОЛЬШЕ (это одна из 4 видимых), если я нажимаю на вкладку напрямую, она переходит к виду, заголовок говорит "Управление" и кнопка "Назад" отображает "<устройство", как я ожидал.

Почему переход из меню MORE контроллера вкладок ведет себя иначе, чем переход от видимой вкладки?

1 ответ

Как и в случае с руководящими принципами разработки Apple, контроллер панели вкладок следует использовать в качестве верхней части навигации в вашем приложении.

Если есть какая-то причина, почему бы не использовать его. Если вы используете контроллер навигации, вы должны использовать отдельный контроллер навигации для каждого потока. Вы можете встроить свои контроллеры в UINavigationController, выбрав

Редактор -> Встроить -> UINavigationController

Если ваша настройка TabBarController -> ChildViewController [Each of these embedded in UINavigationController] должен вести себя правильно

Но что касается вашего описания настройки, скорее всего,

UINavigationController -> UIViewController (title "Devices") -> UITabBarController -> ChildViewController

MORE вкладка конкретная. Ссылаться на tabbarController.moreNavigationController

Причина, по которой вы не видите свой заголовок на вкладке "Управление", заключается в том, что иерархия представления отличается. Как вы не упомянули, как вы устанавливаете свой заголовок для навигационного элемента. Есть две возможности.

Вызвать приведенный ниже фрагмент в вашем методе Manage VC viewDidAppear

self.tabBarController?.navigationItem.title

Вы также можете обратиться к аналогичным вопросам о контроллере панели вкладок. Это в основном об использовании (ничего общего с БОЛЬШЕ) Stackru - контроллер панели вкладок

Чтобы ответить на ваш вопрос - Поведение отличается из-за различий в иерархии представлений. Дочерний VC на вкладке More встроен в UINavigationController соответственно свойству UITabBarControllers. moreNavigationViewController,

Другие вопросы по тегам