Контроллер панели вкладок отсутствует на последующих контроллерах представления - PullRequest
0 голосов
/ 31 января 2019

У меня есть следующий макет раскадровки в проекте iOS:

enter image description here

Макет настроен так:

  • A - это навигационный контроллер
  • B - это вступительное видео (панель навигации скрыта как полноэкранное видео)
  • C - это правила и условия (панель навигации отображается для отображения заголовка)
  • D - контроллер панели вкладок (главный экран, здесь отображается навигационная панель с логотипом приложения)
  • E - пять вкладок главного экрана
  • F & G - два видаКонтроллеры, которые могут быть запущены из первой вкладки (E)

Стоит отметить, что в будущем будут два дополнительных контроллера вида, связанных снизу F, которые оба могут быть связаны с G.

Проблема в том, что контроллеры представления F и G не отображают панель вкладок.Тем не менее, они по-прежнему отображают панель навигации вверху.

Я пытался встроить E (самый левый) View Controller в его собственный контроллер навигации, а F и G отображали панель вкладок, однако это былозатем показ вторичной панели навигации и обратной навигации, казалось, испортился / не синхронизирован.

Мне кажется, что iIam смотрит прямо на решение, но в данный момент рисует пустое место, и поэтому был бы признателен за любые идеи или указатели вправильное направление, прежде чем я полностью лысый

Обновление после помощи от Гленна ..

Я добился прогресса.По какой-то причине я встроил первую вкладку в его собственный контроллер навигации, а затем пересоздал сегменты, и на этот раз появляется нижняя панель.Я думаю, что в прошлый раз я не удалял сегменты перед внедрением вкладки, поэтому может быть проблема с IDE или рефакторингом.

В любом случае, прогресс, но я все еще вижу проблему с кнопкой "Назад", когда вижуоригинальная попытка.Нажатие назад на F теперь возвращает к B вместо E. Я думаю, это потому, что назад все еще используется навигационный контроллер A.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Чего вам не хватает (и я думаю, что единственный способ это исправить) - это встраивание ваших E контроллеров в новый UINavigationController.Таким образом, у каждого E есть свой навигационный контроллер.В противном случае F & G и другие контроллеры, которые будут выдвинуты вашим E (без собственного навигационного контроллера), будут использовать навигационный контроллер вашего tabBarController, что все еще хорошо.

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

Просто не забудьте обработать переход (выталкивание и удаление) ваших экранов, связанных с F и G.

enter image description here

0 голосов
/ 31 января 2019

Снимите отметку Hide Bottom Bar on Push для F & G ViewControllers может решить вашу проблему.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...