gpt4 book ai didi

ios - UITabBarController 的 viewControllers 存在模态 Controller 问题

转载 作者:行者123 更新时间:2023-11-28 11:57:05 25 4
gpt4 key购买 nike

我有一个带有 4 个 View Controller 设置的 UITabBarController。

其中一个 Controller 有一个按钮,可以显示另一个 Controller (包装在 UINavigationController 上),设置如下:

self.definesPresentationContext = true
navController.modalPresentationStyle = .overCurrentContext
navController.modalTransitionStyle = .crossDissolve
self.present(navController, animated: true)

到此为止一切正常。

现在,如果我切换到另一个选项卡(当之前的模式打开时),并再次返回到显示模式的选项卡(屏幕仍然存在,没关系)。然后,如果我关闭模态(从按钮),模态被关闭但 Controller View 已经消失(白色),然后如果我切换到另一个选项卡并再次返回选项卡, View 加载正确。

注意:对于这种情况,我需要 overCurrentContext,不想阻止 UITabBarController(使用 fullScreen)。也可以尝试使用 .currentContext自定义

最佳答案

如果这是我演示的同一个错误 here ,我给出的解决方法是防止用户在该选项卡显示呈现的 View Controller 时切换到另一个选项卡:

override func viewDidLoad() {
super.viewDidLoad()
self.tabBarController?.delegate = self
}
extension FirstViewController : UITabBarControllerDelegate {
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
return self.presentedViewController == nil
}
}

关于ios - UITabBarController 的 viewControllers 存在模态 Controller 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50765226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com