我使用4个视图控制器(使用.xib)在AppDelegate中以编程方式创建了UITabBarController。当用户点击ViewController(VC-A)上的某个按钮时,它将显示另一个VC(VC-B)和覆盖的标签栏。所以我想VC-B的按钮上有一个选项卡。
我试图将VC-B添加为tabbarcontroller的子代。我试图同时在.present(vc)和.show(vc)上:VC-A和VC-A.TabBarController
在AppDelegate中创建控制器:
let controllers = [tabViewController1,tabViewController2,tabViewController3,tabViewController4]
tabBarController.viewControllers = controllers
window?.rootViewController = tabBarController
在VC-A中展示
self.tabBarController?.present(controller, animated: false, completion: nil)
答案 0 :(得分:0)
右键单击并从情节提要中的选项卡控制器拖动到VC-B。除非您要设置动画,否则应该在VC-A和VC-B的底部创建一个选项卡以来回移动,而无需实现任何后端代码。
答案 1 :(得分:0)
解决方案是将每个VC嵌入navigationController中,然后添加到TabBarController中。
let vc1 = ViewController1()
let navController1 = UINavigationController(rootViewController: vc1)
navController.isNavigationBarHidden = true
let controllers = [navController1, navController2, navController3, navController4]
tabBarController.viewControllers = controllers
window?.rootViewController = tabBarController
然后拨打电话
self.navigationController?.pushViewController(控制器,动画: 是的)
要使用标签栏播放VC
答案 2 :(得分:0)
我将按图片底部的红色登录按钮,然后尝试登录。 登录按钮=>“로그인”
然后,登录。
let moreVC = self.storyboard?.instantiateViewController(withIdentifier: "MoreViewController") as! MoreViewController
moreVC.definesPresentationContext = true
moreVC.modalPresentationStyle = .fullScreen
let navController = UINavigationController(rootViewController: moreVC)
self.present(navController, animated: true, completion: nil)
如果登录继续进行而没有错误,则完成登录后,将调用上述代码以显示屏幕。
如果流程按上述代码进行,则会出现此屏幕。
显示的屏幕不是全屏显示,并且底部的标签栏消失了。我想要的屏幕是下面的屏幕。
在显示屏幕时如何显示标签栏?