Вернитесь на вкладкуBarController, swift


В настоящее время на моем viewController: Загрузить, моя кнопка отправляет данные в мою базу данных, только если вся информация заполнена, и я возвращаюсь к предварительному просмотру (представление таблицы) с помощью: < бр/> self.navigationController?.popViewControllerAnimated(true)

Я хотел бы, если это возможно, вернуться к моему основному представлению на tabBarController. . Я пробовал много вещей, например, прямо на раскадровке с помощью Present modally segue to «Controller TabBar», но я возвращаюсь к TabBar, не отправляя свои данные в базу данных и не проверяя, заполнена ли информация ..

Как это сделать?

Спасибо!


person L.Vl    schedule 03.02.2016    source источник


Ответы (2)


UITabBarController имеет свойство selectedIndex, с помощью которого можно переключать выбранную вкладку. Итак, после закрытия UploadViewController вы можете запустить:

self.tabBarController?.selectedIndex = 0 // Index to select

Вероятно, было бы лучше создать делегата для вашего UploadViewController, чтобы запустить функцию для выполнения всей работы в вашем previewVC при завершении вызова API.

person xoudini    schedule 03.02.2016
comment
Ты самый лучший!! Работает как часы! Благодарю вас! - person L.Vl; 04.02.2016

(Супер поздний ответ... на случай, если у кого-то возникнут похожие вопросы, предположительно в более поздней версии Swift, например, в моей версии Swift 5, iOS 13.2). Шаги:

  1. Обязательно установите идентификатор для вашей раскадровки UITabBarController, например. "Таббарвиевконтроллер"
  2. Затем добавьте следующее к действию, которое уже было связано с кнопкой:

let ID_TABBAR = "TabBarViewCOntroller"

@IBAction func returnToTabbar(_ sender: Any) {
        let tabBarController = self.storyboard?.instantiateViewController(identifier:ID_TABBAR) as! UITabBarController
        self.navigationController?.pushViewController(tabBarController, animated:true)
}

Ссылка на один из ответов на этот пост.

Обновление: если ваш контроллер представления панели вкладок также является корневым контроллером представления, две строки кода в методе returnToTabbar выше могут быть такими:

self.dismiss(animated:true, completion:nil);
self.navigationController?.popViewController(animated:true);

(ссылка: см. ответ здесь для Swift4, но отлично работает в Swift5)

person David C.    schedule 05.04.2020