我有一个UITabBarController,需要一直显示TabBar。 在代表选项卡的ViewController中,我使用childViewController.modalPresentationStyle = .overCurrentContext呈现其他Viewcontroller。 当我展示ChildViewController(UIViewControllerA0,..)时,我显示了一个Navigationbar。回去,我关闭了currentChildViewController。
这可以正常工作,但是以下步骤最终显示为黑色屏幕。
我的UIStructure是
UITabBarController
|-UINavigationController
| --UIViewControllerA Tab
| --UIViewControllerA0
| --UIViewControllerA1
|
|--UINavigationController
| --UIViewControllerB Tab
| --UIViewControllerB0
| --UIViewControllerB1
|
|--UINavigationController
| --UIViewControllerC Tab
| --UIViewControllerC0
| --UIViewControllerC1
|
我尝试了几种presentationStyles,但是在显示“ ChildViewController”时需要显示Tabbar。 我也尝试以某种方式重新加载ViewController,但是失败了,我认为这不是正确的方法。
有解决方案吗?还是无法使用这样的TabNavigation?
亲切的问候
答案 0 :(得分:0)
好吧,这很奇怪,这是我的presentationContext和PresentationStyle的开始组合,但是我再次尝试并将其设置回“开始”,现在可以使用以下设置:
例如在UIViewControllerA中,当展示一个孩子时
childViewController.modalPresentationStyle = .overCurrentContext
self.definesPresentationContext = true
self.present(childViewController, animated: true, completion: nil)
关闭我调用的ChildViewController时
childViewController.dismiss(animated: true) {}
我现在可以留在选项卡上的ChildViewController中,在选项卡之间切换,甚至可以打开其他选项卡上的其他ChildViewControllers,并在关闭ChildViewController时显示正确的ViewController(UIViewControllerA,UIViewControllerB或UIViewControllerC)
我现在花了几个小时来做,现在看来就像它一样容易...