gpt4 book ai didi

ios - 切换选项卡并呈现模式 ViewController 后 TabViewController 为黑色

转载 作者:行者123 更新时间:2023-11-29 06:02:00 26 4
gpt4 key购买 nike

我有一个 UITabBarController 并且需要始终显示 TabBar。在代表选项卡的 ViewController 中,我使用 childViewController.modalPresentationStyle = .overCurrentContext 呈现其他 Viewcontroller。当我呈现 ChildViewController (UIViewControllerA0,..) 时,我会显示一个导航栏。要返回,我关闭了 currentChildViewController。

这工作正常,但以下步骤最终会出现黑屏。

  1. 在标签栏中选择 UIViewControllerA
  2. 点击 UIViewControllerA 上的某个内容并呈现(UIViewControllerA0)
  3. UIViewControllerA0 显示并带有返回导航栏
  4. 切换到选项卡 UIViewControllerC 或 B
  5. 切换到选项卡 UIViewControllerA -> 子 UIViewControllerA0 仍然可用
  6. 返回导航栏并关闭 UIViewControllerA0
  7. UIViewControllerA 是黑色的 <--- ERROR
  8. 切换到选项卡 UIViewControllerB 或 C,然后再次返回 -> UIViewControllerA 显示正确

我的 UIStructure 是

UITabBarController
|-UINavigationController
| --UIViewControllerA Tab
| --UIViewControllerA0
| --UIViewControllerA1
|
|--UINavigationController
| --UIViewControllerB Tab
| --UIViewControllerB0
| --UIViewControllerB1
|
|--UINavigationController
| --UIViewControllerC Tab
| --UIViewControllerC0
| --UIViewControllerC1
|

我尝试了几种presentationStyles,但我需要在呈现“ChildViewController”时显示选项卡栏。我还尝试以某种方式重新加载 ViewController,但失败了,我认为这不是正确的方法。

是否有解决方案,或者是否无法使用这样的 TabNavigation?

亲切的问候

最佳答案

好吧,这很奇怪,这是我的presentationContext和PresentationStyle的开始组合,但我再次尝试并将其设置回“开始”,现在它可以使用以下设置:

在 UIViewControllerA 中,例如呈现一个 Child 时

childViewController.modalPresentationStyle = .overCurrentContext
self.definesPresentationContext = true
self.present(childViewController, 动画: true, 完成: nil)

关闭 ChildViewController 时我调用

childViewController.dismiss(animated: true) {}

我现在可以留在选项卡上的 ChildViewController 中,在选项卡之间切换,甚至在其他选项卡上打开其他 ChildViewController,并且在关闭 ChildViewController 时会显示正确的 ViewController(UIViewControllerA、UIViewControllerB 或 UIViewControllerC)

我现在花了几个小时在这上面,现在看起来很简单......

关于ios - 切换选项卡并呈现模式 ViewController 后 TabViewController 为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54558056/

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