如何在Swift中呈现独特的UITabBarControllers

时间:2019-04-20 02:33:06

标签: swift uinavigationcontroller uikit uitabbarcontroller

我正在开发一个项目,该项目具有两个不同的UITabBarControllers来代表应用程序的两个不同状态。我可以在用户登录后设置第一个UITabBarController,并在按下按钮时显示第二个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的视图。更具体地说,我在捕获会话的模式表示下看到了mainTabBar的最后一个视图(从中设置了secondaryTabBar)。这是问题点:

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

1 个答案:

答案 0 :(得分:0)

我将CameraViewController的modalPresentationStyle更改为.overCurrentContext,从而解决了该问题。从这里得到它:Transparent background for modally presented viewcontroller