Сохранять видимость UITabBarController в иерархии представлений (раскадровка)

Я знаю, что традиционно, если бы я создавал свой собственный UITabBarController , я мог бы нажать новый ViewController на стек с каждой вкладкой и держать панель видимой в нижней части экрана. Тем не менее, я использую свой первый проект раскадровки.

Раскадровка не позволяет мне установить начальное представление каждой вкладки как UINavigationController . Какие у меня варианты?

Чтобы сохранить панель вкладок в нижней части нового представления, вам просто нужно встроить первый ViewController в NavigationController, а затем использовать Push segues для перехода на любые дополнительные ViewControllers, которые вы добавите после этого.

Если используется шаблон TabBarApplication:

  1. Выберите FirstViewController.
  2. Перейдите на вкладку «Редактор» и выберите «Вставить вход».
  3. Выберите «Контроллер навигации».
  4. Создайте Push Segue из FirstViewController для любого нового Viewcontroller, который вы добавите после этого.

Если используется шаблон SingleViewApplication:

  1. Создать UIViewController
  2. Выберите Viewcontroller и вставьте его в NavigationContoller, как описано выше.
  3. Выберите новый NavigationController, перейдите в редактор и нажмите «Вставить», а затем выберите TabBarController
  4. Создайте еще один ViewController для другой вкладки, встройте его в NavigationController и Control-Click-Drag из TabBarController в NavigationController и выберите «View Controller» в разделе «segue».

Насколько мне известно, это можно сделать только при использовании Push Segues. Как только вы добавите вид Modal, панель вкладок исчезнет. Однако вы можете скрыть свой навигационный барьер при использовании push-сега, если вы не хотите, чтобы он был одним. затем, чтобы закрыть его, просто нажмите кнопку (или функцию), чтобы отменить ее так:

[self.navigationController popViewControllerAnimated:YES];

Или вы можете использовать разматывать Segue, если вы используете iOS 6.

Надеюсь, это ответили на ваш вопрос. Если неясно, просто дайте мне знать.

Для справки на раскадровки этот урок был для меня отличным.