以编程方式打开视图控制器并且看不到导航栏。斯威夫特 3
Posted
技术标签:
【中文标题】以编程方式打开视图控制器并且看不到导航栏。斯威夫特 3【英文标题】:Open view controller programatically and dont see navigation bar. Swift 3 【发布时间】:2017-06-06 19:52:51 【问题描述】:在我的故事板上,我在导航控制器中嵌入了一个集合视图控制器。现在从集合视图的单元格中,我以编程方式打开第二个视图控制器(称为 TwoPicsViewController),如下所示:
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "TwoPicsViewController") as! TwoPicsViewController
self.present(nextViewController, animated:true, completion:nil)
但是,当我的 TwoPicsViewController 打开时,我根本看不到导航栏。在故事板上,我将 TwoPicsViewController 连接到第一个带有 segue 显示的视图控制器。
我还错过了什么吗?
谢谢
【问题讨论】:
【参考方案1】:要将新的UIViewController
推送到导航堆栈,您应该使用:
self.navigationController?.pushViewController(nextViewController, animated: true)
代替:
self.present(nextViewController, animated:true, completion:nil)
【讨论】:
【参考方案2】:您没有将新的 vc 放在导航堆栈上,试试这个:
performSegue(withIdentifier: "Segue Name", sender: nil)
在 Storyboard 上选择 Segue,属性检查器,标识符 = "Segue Name"
【讨论】:
以上是关于以编程方式打开视图控制器并且看不到导航栏。斯威夫特 3的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式导航到另一个故事板上的导航控制器和标签栏控制器内的视图控制器
导航栏在 iPhone XS Max swift 上关闭视图控制器上的视图