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

时间:2014-09-17 18:35:02

标签: ios iphone xcode xcode6

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

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

view

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

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

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

5 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:6)

有趣的是,当您第一次使用推送连接表格视图控制器查看控制器时,您可以开始编辑导航栏没有问题(例如把条形物品放在上面)。

然后删除表格视图控制器视图控制器之间的连接(但不要删除刚刚添加的导航栏项目),然后重新连接两个控制器通过使用segue 显示,您会看到导航栏现在就像segue 推送一样。

希望有所帮助

答案 2 :(得分:6)

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

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

enter image description here

答案 3 :(得分:5)

这似乎是Xcode的错误。

就我而言,我按照这个顺序重新创建了segue:

  1. 删除现有的seque。 (我正在使用" Action segue - Show")
  2. 使用"非自适应动作Segue拖动新segue - 推送(已弃用)"
  3. 删除segue no.2
  4. 重新创建/连接" Action Seque - Show"。 (第1号)
  5. 完成
  6. 现在,我可以编辑导航标题并添加自定义导航项目按钮。

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

答案 4 :(得分:3)

在你的viewController中:

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

enter image description here