导航栏在Show Segue,Xcode 6.1中无法选择

Nam*_*ken 20 iphone xcode ios xcode6

我的故事板中有2个视图控制器,VC_AVC_B

我在VC_A中嵌入了一个导航控制器,它是一个表视图控制器,然后我控制将Prototype Cell拖到VC_B中以创建一个segue.如果我选择"show""选择segue"然后在VC_B中我可以看到导航栏的轮廓但我无法选择它或添加任何条形按钮,它也不会出现在分层视图中.

视图

但是,如果我"push (deprecated)"在选择segue的类型时选择了该选项,我可以在VC_B中选择导航栏并向其添加按钮,它也会在分层视图中显示为导航项.

我能找到的唯一工作是选择show,然后push(deprecated)在属性检查器中将segue更改为,以便导航项将显示在分层视图中,然后将segue更改回show.但我担心这可能会导致进一步的问题.

有没有办法在不使用解决方法的情况下将条形按钮添加到VC_B的导航栏?

小智 13

只需将"导航项"从对象库拖到导航栏,它就可以按预期工作.您可以根据需要进行更改,它的工作原理与Xcode 5完全相同.


Ven*_*ntx 6

有趣的是,当您第一次使用Push进行表视图控制器视图控制器的连接时,您可以开始编辑导航栏而不会出现问题(例如将条形项放在其上).

然后删除之间的连接表视图控制器视图控制器(但不删除您刚才添加的导航栏项目),然后重新连接两个控制器通过SEGUE 显示,你会看到导航栏的作品就像SEGUE 现在.

希望能帮助到你


Sna*_*ker 6

我认为你这样做的方式(通过不推荐的推动)并没有错,即使有另一种方式.实际上,当你将Segue转变为推动时,你会得到一个导航项目.

因此,您所要做的就是向View Controller添加一个导航项,这样就可以了:

在此输入图像描述


小智 5

这似乎是Xcode的错误.

在我的情况下,我按照这个顺序重新创建segue:

  1. 删除现有的seque.(我正在使用"Action segue - Show")
  2. 使用"非自适应动作Segue - 推送(已弃用)"拖动新的segue
  3. 删除segue no.2
  4. 重新创建/连接"Action Seque - Show".(第1号)
  5. 完成

现在,我可以编辑导航标题并像往常一样添加自定义导航项按钮.

我正在使用Xcode 6.4和最小目标iOS版本7.


use*_*523 3

在你的 viewController 中:

self.navigationItem.title = "Second VC"
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playFunction:")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述