【问题标题】:Show Segue from button opens without navigation controllerShow Segue from 按钮打开时没有导航控制器
【发布时间】: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都是一种显示(例如推送)

标签: ios swift uiviewcontroller uinavigationcontroller segue


【解决方案1】:

设置转场动作

  • 模态呈现

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

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

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

【讨论】:

  • 谢谢,我将 segue 重置为模态呈现,构建项目,然后将两个 segue 重置为显示,现在它可以正常工作了
猜你喜欢
  • 2012-08-30
  • 1970-01-01
  • 2020-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-17
  • 2014-08-30
相关资源
最近更新 更多