使用 UITabBarController 实例化 ViewController
instantiateViewController with UITabBarController
我有以下设置:
- 登录界面->登录成功后,会启动一个新视图
- TabBarController -> 附加到 4 个不同的 ViewControllers
- MenuViewController -> 这是 4 个标签栏的起点
我想像这样以编程方式启动 MenuViewController + 底部的标签栏:
let storyboard = UIStoryboard(name: "Employee", bundle: nil)
let tabbarVC = storyboard.instantiateViewController(withIdentifier: "tabBar") as! UITabBarController
self.present(tabbarVC, animated: false, completion: nil)
不幸的是,没有启动视图,没有任何反应。
有什么想法吗?
经过@Bozzo Game 的评论,我已经找到了解决这个问题的方法。
行
self.present(tabbarVC, animated: false, completion: nil)
必须替换为
UIApplication.shared.keyWindow?.rootViewController = tabbarVC
因为这里的想法不是使用 present
在当前的顶部显示 tabbarVC,而是更改 Window 的 rootViewController。
我有以下设置:
- 登录界面->登录成功后,会启动一个新视图
- TabBarController -> 附加到 4 个不同的 ViewControllers
- MenuViewController -> 这是 4 个标签栏的起点
我想像这样以编程方式启动 MenuViewController + 底部的标签栏:
let storyboard = UIStoryboard(name: "Employee", bundle: nil)
let tabbarVC = storyboard.instantiateViewController(withIdentifier: "tabBar") as! UITabBarController
self.present(tabbarVC, animated: false, completion: nil)
不幸的是,没有启动视图,没有任何反应。 有什么想法吗?
经过@Bozzo Game 的评论,我已经找到了解决这个问题的方法。
行
self.present(tabbarVC, animated: false, completion: nil)
必须替换为
UIApplication.shared.keyWindow?.rootViewController = tabbarVC
因为这里的想法不是使用 present
在当前的顶部显示 tabbarVC,而是更改 Window 的 rootViewController。