Лучшая практика для представления UITabBarControllers - PullRequest
0 голосов
/ 24 февраля 2019

Я работаю над проектом, который имеет два разных набора вкладок, которые представлены в зависимости от определенных условий.Мой вопрос заключается в том, как лучше всего представить два разных набора вкладок через их UITabBarControllers.

Прямо сейчас, приложение предназначено для запуска с UITabBarController по умолчанию, но когда я хочу переключиться, я не понимаю, как лучше представить второй UITabBarController и полностью получить первый UITabBarController из стека памяти.И, наоборот.Будет ли то же самое переключиться обратно на первый UITabBarController?

Этот код используется на данный момент для переключения с первого на второе.

let secondaryTabBarController = SecondaryTabBarController()
let secondaryTabs = UINavigationController(rootViewController: secondaryTabBarController)
UIApplication.shared.keyWindow?.rootViewController = secondaryTabs

1 Ответ

0 голосов
/ 24 февраля 2019

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

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

Вы можете анимировать переход с помощью UIView.transition (с: duration: options: animations: creation :), который имеет некоторые встроенные анимации перехода.

В качестве альтернативы вы можете использовать setViewControllers (viewControllers:animated :) в UITabBarController, если вы хотите просто изменить вкладки или сохранить выделение.

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