Show Segue from 按钮打开时没有导航控制器

Posted

技术标签:

【中文标题】Show Segue from 按钮打开时没有导航控制器【英文标题】:Show Segue from button opens without navigation controller 【发布时间】:2016-04-13 09:04:02 【问题描述】:

我在情节提要中有两个视图控制器和一个导航控制器。在第一个视图控制器中,我有两个按钮。

两个按钮都转到包含地图的第二个视图,并打开带有不同信息的地图。他们俩都是那种秀。

单击第一个按钮会打开地图,顶部有导航栏(从侧面加载)。

第二个按钮加载没有导航栏的地图(它从底部加载)。

我希望两个按钮都能通过导航栏加载地图。

我正在使用 xcode 7.3 swift 和故事板

也使用为 segue 做准备

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
  if(segue.identifier == "lav")
    let DestViewController = segue.destinationViewController as! MapView
    DestViewController.type = typeLav
  
  if(segue.identifier == "cam")
    let DestViewController = segue.destinationViewController as! MapView
    DestViewController.type = typeCam
  

【问题讨论】:

第二个按钮可能会在模态中打开新视图,这就是没有导航栏的原因,再次检查第二个按钮是否为“显示”。 是的,这两个segues都是一种显示(例如推送) 【参考方案1】:

设置转场动作

模态呈现

从底部显示,没有导航控制器,所以也没有导航栏。

将视图控制器推送到当前导航堆栈,这样导航栏就会显示出来

顺便说一句,prepareForSegue 方法用于设置视图控制器之间的数据传输;

【讨论】:

谢谢,我将 segue 重置为模态呈现,构建项目,然后将两个 segue 重置为显示,现在它可以正常工作了

以上是关于Show Segue from 按钮打开时没有导航控制器的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 4.0.0右对齐导航栏下拉菜单打开时超出视口[重复]

如何处理后退按钮android以退出应用程序并在首页中打开时关闭本机导航侧菜单

XCode 4.2 打开时没有工具栏、项目导航器

IOS:推送segue后导航栏消失

如何在目标 c 中的按钮 Segue 后导航回来

如何使用导航抽屉打开和关闭更改按钮图像