Перейти от модального вида к панели вкладок контроллера вида и не потерять панель вкладок


Здравствуйте, я пытаюсь перейти от модального к контроллеру вида панели вкладок, не теряя панель вкладок? Я знаю, что вопрос короткий, но это все, что я прошу.

Сценарий: у меня есть панель вкладок контроллеры вида, модалы A и B. B для контроллера вида C. Затем я хочу вернуться к контроллеру вида A.

Swift пожалуйста: D

1 7

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)