#ios #swift
Вопрос:
У меня есть UITabBarController
корневое представление в моем приложении. Отсюда один из контроллеров просмотра, который UITabBarController
показывает, должен открыть другой вид с помощью кнопки «Назад», чтобы вернуться к тому, что находится внизу, — UIViewController
к тому, что UITabBarController
показывалось.
Я создал сегмент UIViewController
изнутри UITabBarController
, чтобы открыть UINavigationController
, который затем показывает новый UIViewController
.
Проблема, с которой я сталкиваюсь, заключается в том, что нет кнопки «Назад», чтобы вернуться до UINavigationController
— что имеет смысл, поскольку представления перед навигационным контроллером не являются частью стека.
Как лучше всего справиться с этой ситуацией? В этом случае я просто хочу открыть UIViewController
окно, которое может углубляться дальше, но в конечном счете мне нужно, чтобы на нем была кнопка UIViewController
UINavigationController
«Назад», чтобы вернуться к UITabBarController
нему .
Большое спасибо.
Ответ №1:
Вам нужно представить саму навигацию с
self.present(nav......
затем отклоните его, нажав кнопку «Назад» в первом окне этой навигации
self.dismiss.....
Комментарии:
1. self.performSegue(с идентификатором: «segue_name», отправитель: self) — это не сработает?
2. Проблема в том, что кнопка «Назад» не отображается в первом VC, потому что это первое, что есть в стеке.
Ответ №2:
Вероятно, вы хотите смоделировать поведение навигационного контроллера в модальном представлении, вы можете добиться этого, добавив панель навигации в первый UIViewController внутри стека UINavigationController, затем добавьте элемент кнопки левой панели с действием
самоотвод(анимация: ложь)
Он будет вести себя как навигационный контроллер и решит ваш вопрос, но вы не получите прокрутку контроллера навигации назад из. box, и анимация перехода отличается.
(В подобных случаях я бы предпочел просто модальное представление без маскировки)
Комментарии:
1. Значит ли это, что вы вообще не будете использовать навигационный контроллер? Просто используйте модальную презентацию?
2. @sark9012 нет, используется навигационный контроллер, но модальное представление по умолчанию и очевидно с кнопкой «Закрыть» вместо «назад».
3. @sark9012 кстати, говорят, что он предпочитает использовать создание и представление пользовательских контроллеров представлений, а не использовать seques