Как представить уникальные UITabBarControllers в Swift - PullRequest
0 голосов
/ 20 апреля 2019

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

Так я устанавливаю главную панель вкладок.

let mainTabBar = MainTabBarController()
let mainMode = UINavigationController(rootViewController: mainTabBar)
UIApplication.shared.keyWindow?.rootViewController = mainMode

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

let secondaryTabBar = SecondaryTabBarController()
let hiddenMode = UINavigationController(rootViewController: secondaryTabBar)
UIApplication.shared.keyWindow?.rootViewController = hiddenMode

Однако при использовании вторичного UITabBarController при переходе к AVCaptureSession я вижу виды из основного UITabBarController. Более конкретно, я вижу последнее представление (из которого установлено значение secondTabBar) из mainTabBar под модальным представлением сеанса захвата. Вот проблемный момент:

    let captureSession = CameraViewController()        
    navigationController?.present(captureSession, animated: true, completion: nil)

1 Ответ

0 голосов
/ 22 апреля 2019

Я изменил modalPresentationStyle CameraViewController на .overCurrentContext, и это решило проблему.Понял отсюда: Прозрачный фон для модально представленного viewcontroller

...