我有一个 UITabBarController,所有其他视图控制器都连接到它。现在我想将我的控制器显示为:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
但当我尝试:
let rootViewController = self.window?.rootViewController as! UINavigationController
rootViewController.pushViewController(vc, animated: true)
它给了我下一个错误:
Could not cast value of type 'UITabBarController' (0x1a899b818) to 'UINavigationController'
后来我尝试这样做:
let rootViewController = self.window?.rootViewController as! UITabBarController
但在这种情况下我得到
UITabBar has no member pushViewController
如何显示/推送我的 ViewController,使其与 UINavigationBar 一起出现并出现在 UITabBar 内部?
您需要将每个视图控制器放置在导航控制器中。
例如。目前你有一个 TabBarViewController
和两个视图控制器:
您需要做的是将它们嵌入导航控制器中,这样您就可以:
- UINavigationController -> ViewControllerA
- UINavigationController -> ViewControllerB
为了推送新的控制器,你可以这样做:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
let navViewController = myTabBar.selectedViewController as? UINavigationController
navViewController?.pushViewController(vc, animated: true)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)