Вложенные UINavigationControllers и TabBarController

У меня возникают некоторые проблемы с дизайном пользовательского интерфейса.

Альтернатива 1:

  • UINavigationController
    • TabBarController
      • MapViewController
      • UINavigationContoller
        • UITableViewController
          • DetailViewController

Альтернатива 2:

  • UINavigationController
    • TabBarController
      • MapViewController
      • UITableViewController
        • DetailViewController

В альтернативе 1 в navigationitem элементе DetailViewController backButton и title не отображаются, но у меня есть нижняя tabbar .

В альтернативе 2 в navigationitem DetailViewController обратная backButton и title видны, но я пропускаю нижнюю tabbar .

Есть ли способ иметь обе функции альтернативных 1 и 2?

Мне нужен самый верхний контроллер навигации, потому что в TabBarViewController у меня есть LeftBarButtonItem, показывающий боковое меню (SWRevealViewController).

РЕДАКТИРОВАТЬ

Код в TableViewController

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { poiDetail = [poiManager.listOfPois objectAtIndex:indexPath.row]; // does not work with regions-sections [self performSegueWithIdentifier:@"poiDetail" sender:self]; } 

где «poiDetail» segue является нажатием, например «Show» segue.

2 Solutions collect form web for “Вложенные UINavigationControllers и TabBarController”

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

Я предлагаю Альтернативу 1

Вы можете установить Initial UINavigationController в AppDelegate и поддерживать поток приложений с одним контроллером навигации до вложенного UINavigationController. И установите контроллер TabBar как RootViewController

В RootViewController вложенного навигационного контроллера, пожалуйста, скройте навигационную панель навигации NavigationDontroller AppDelegate. Таким образом, вы можете решить проблему Альтернативы 1, с которой вы сталкиваетесь.

Я сослался на эту библиотеку: https://github.com/juliorimo/CustomTabBar-iOS (Примечание: эта библиотека – это всего лишь один UINavigationController и TabbarController, а также дополнительный поток Nested UINavigationController, который вы должны поддерживать)

Эй, я предлагаю Альтернативу 3:

  • UINavigationController
    • Контроллер панели вкладок
      • Контроллер Nav
        • Контроллер отображения карты
      • Контроллер Nav
        • Контроллер таблицы
          • Контроллер детального просмотра

Вы, по сути, хотите, чтобы два контроллера просмотра, управляемые контроллером панели управления, были завернуты в контроллеры Nav

  • Как изменить шрифт UINavigationItem?
  • Рекомендации по обработке изменений в UINavigationItem контроллеров дочерних представлений в контроллере контейнера?
  • Изменить BackBarButtonItem для всех UIViewControllers?
  • Стиль UINavigationBar iOS 8 с вкладками
  • Настраивать пользовательскую кнопку обратной кнопки в навигационном контроллере меньше
  • Повторные вызовы setRightBarButtonItems в UINavigationItem потребляют все больше времени в каждом цикле
  • Добавление navigationItem.titleView в раскадровке не работает
  • Элемент панели управления, не отображаемый в навигацииBar
  • Исключение внутренней несогласованности с пользовательскими элементами навигации в * некоторых * версиях iOS 8
  • UIBarButtonItem не отображается
  • обратный вызов обратной кнопки в navigationController в iOS
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.