使用标签栏显示 viewcontroller
Present viewcontroller with tabbar
我在 AppDelegate 中使用 4 个视图控制器(使用 .xib)以编程方式创建了 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)
右键单击并从情节提要中的标签栏控制器拖动到 VC-B。这应该在 VC-A 和 VC-B 的底部创建一个选项卡来回移动而无需实现任何后端代码,除非你想动画
解决办法是把每一个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(controller, animated:
true)
用标签栏
显示VC
我将按图片底部的红色登录按钮尝试登录。
登录按钮 => "로그인"
之后,登录。
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)
如果登录没有报错,会调用上面的代码显示登录完成的画面
如果流程按照上面的代码进行,则会出现此屏幕。
显示的屏幕不是全屏,底部的标签栏也没有了。我要的画面就是下面的画面
如何在呈现屏幕时呈现标签栏?
我在 AppDelegate 中使用 4 个视图控制器(使用 .xib)以编程方式创建了 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)
右键单击并从情节提要中的标签栏控制器拖动到 VC-B。这应该在 VC-A 和 VC-B 的底部创建一个选项卡来回移动而无需实现任何后端代码,除非你想动画
解决办法是把每一个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(controller, animated: true)
用标签栏
显示VC我将按图片底部的红色登录按钮尝试登录。 登录按钮 => "로그인"
之后,登录。
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)
如果登录没有报错,会调用上面的代码显示登录完成的画面
如果流程按照上面的代码进行,则会出现此屏幕。
显示的屏幕不是全屏,底部的标签栏也没有了。我要的画面就是下面的画面
如何在呈现屏幕时呈现标签栏?