J. *_*Doe 3 storyboard uitabbarcontroller pushviewcontroller ios swift
我有一个UITabBarController,所有其他视图控制器都连接到它.现在我想将我的控制器显示为:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc: ViewController = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
Run Code Online (Sandbox Code Playgroud)
但是当我试图:
let rootViewController = self.window?.rootViewController as! UINavigationController
rootViewController.pushViewController(vc, animated: true)
Run Code Online (Sandbox Code Playgroud)
它给了我下一个错误:
Could not cast value of type 'UITabBarController' (0x1a899b818) to 'UINavigationController'
Run Code Online (Sandbox Code Playgroud)
后来我试着这样做:
let rootViewController = self.window?.rootViewController as! UITabBarController
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下我得到了
UITabBar has no member pushViewController
Run Code Online (Sandbox Code Playgroud)
如何显示/推送我的ViewController,以便它与UINavigationBar一起显示在UITabBar中?
fik*_*iks 10
您需要将每个视图控制器放在导航控制器中.
例如,目前你有一个TabBarViewController和两个视图控制器:
您需要做的是将每个嵌入到导航控制器中,这样您就可以:
为了推动一个新的控制器你会做:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3185 次 |
| 最近记录: |