Перейти от модального вида к панели вкладок контроллера вида и не потерять панель вкладок
Здравствуйте, я пытаюсь перейти от модального к контроллеру вида панели вкладок, не теряя панель вкладок? Я знаю, что вопрос короткий, но это все, что я прошу.
Сценарий: у меня есть панель вкладок контроллеры вида, модалы A и B. B для контроллера вида C. Затем я хочу вернуться к контроллеру вида A.
Swift пожалуйста: D
1 ответ:
Вот мой пример того, как это сделать. В моей настройке я выбираю желтый ViewController на вкладке, затем нажимаю Go!, который модально представляет собойБелый ViewController . Нажатие Exit возвращает к зеленому ViewController.
Чтобы настроить это, используйте размотать сегмент , чтобы вернуться к viewController, который вызвал вас. Например, реализуйте это в первом ViewController вкладки (вызывающем модальный сегмент).
@IBAction func backFromModal(_ segue: UIStoryboardSegue) { print("and we are back") // Switch to the second tab (tabs are numbered 0, 1, 2) self.tabBarController?.selectedIndex = 1 }
Затем переключитесь на другую вкладку, используя
self.tabBarController?.selectedIndex = n
, гдеn
- номер вкладки, на которую вы действительно хотите перейти. Чтобы настроить сегмент раскрутки, вы можете либо control -перетащить с кнопки в контроллере модального вида на значок exit в верхней части контроллера вида и выбратьbackFromModal
из всплывающего окна...
Или
Вы можете настроить сегмент размотки, который будет вызываться программно с помощью control -перетаскивание из значка viewController в верхней части модального viewController к значку exit и выберите
backFromModal
из всплывающего окна.Затем перейдите к виду Схема документа и нажмите на размотать сегмент
И дать ему идентификатор в инспекторе атрибутов справа (например
"returnFromModal"
).Тогда вы бы назвали раскрутиться segue Вот так:
self.performSegue(withIdentifier: "returnFromModal", sender: self)