我在AppDelegate中以编程方式创建了UITabBarController,并使用4个视图控制器(.xib文件)。当用户在ViewController(VC-A)上点击某个按钮时,它会呈现另一个VC(VC-B)并覆盖标签栏。因此,我希望VC-B在按钮上具有选项卡栏。
我尝试将VC-B添加为选项卡控制器的子级。我尝试在VC-A和VC-A.TabBarController上同时使用.present(vc)和.show(vc)。
在AppDelegate中创建控制器:
我尝试将VC-B添加为选项卡控制器的子级。我尝试在VC-A和VC-A.TabBarController上同时使用.present(vc)和.show(vc)。
在AppDelegate中创建控制器:
let controllers = [tabViewController1,tabViewController2,tabViewController3,tabViewController4]
tabBarController.viewControllers = controllers
window?.rootViewController = tabBarController
presenting in VC-A
self.tabBarController?.present(controller, animated: false, completion: nil)
present
的实际工作原理感到困惑。它实际上是在当前视图控制器之上呈现一个视图控制器。因此,它会覆盖整个屏幕,导航栏将不可见。如果你想保留导航栏,可以将tabBarController嵌入到navigationController中,并使用push
方法来实现。 - Galo Torres Sevilla