移动ViewController时,标签栏和导航栏不会显示

时间:2017-06-24 18:49:07

标签: ios iphone swift uiviewcontroller storyboard

我在Storyboard中有一个ViewController(没有标签栏和导航栏),我需要移动到另一个ViewController(带标签栏和导航栏)。问题是我可以移动到ViewController,但它不会显示标签栏和导航栏。

我是这样做的:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let feedTableViewController = storyboard.instantiateViewController(withIdentifier: "Feed") as! FeedTableViewController
self.navigationController?.pushViewController(feedTableViewController, animated: true)

我尝试将导航栏和标签栏嵌入第一个ViewController,但我没有运气。什么是正确的方法?

1 个答案:

答案 0 :(得分:2)

我找到了解决方法。

而不是启动我想要显示的ViewController。我启动了TabBarController然后显示它,如:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let tabBarViewController = storyboard.instantiateViewController(withIdentifier: "TabBarIdentifier")
self.show(tabBarViewController, sender: nil)

另外,如果尚未初始化NavigationController,我们可以通过以下方式完成:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let tabBarViewController = storyboard.instantiateViewController(withIdentifier: "TabBarIdentifier")
let targetNavigationController = UINavigationController(rootViewController: tabBarViewController)
self.show(targetNavigationController, sender: nil)

然而,后一部分与Storyboard中已嵌入的NavigationController重叠。如果您想要添加任何内容,请随时发表评论。