我正在开发一个项目,该项目具有两个不同的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)
答案 0 :(得分:0)
我将CameraViewController的modalPresentationStyle更改为.overCurrentContext,从而解决了该问题。从这里得到它:Transparent background for modally presented viewcontroller