我的故事板中有2个视图控制器, VC_A 和 VC_B
我在 VC_A 中嵌入了一个导航控制器,它是一个表视图控制器,然后我控制将原型单元拖到 VC_B 中以创建一个segue。如果我在" select segue"中选择"show"
然后在 VC_B 中我可以看到导航栏的轮廓但我无法选择它或添加任何条形按钮,它也不会出现在分层视图中。
但是,如果我在选择segue类型时选择"push (deprecated)"
选项,我可以在 VC_B 中选择导航栏并为其添加按钮,它也会显示在分层视图作为导航项。
我能找到的唯一解决方法是选择show
,然后在属性检查器中将segue更改为push(deprecated)
,以便导航项将显示在分层视图中,然后将segue更改回到show
。但我担心这可能会引发进一步的问题。
有没有办法在不使用解决方法的情况下将条形按钮添加到 VC_B 的导航栏?
答案 0 :(得分:12)
只需将“导航项”从对象库拖到导航栏,它就可以按预期工作。您可以根据需要进行更改,它的工作原理与Xcode 5完全相同。
答案 1 :(得分:6)
有趣的是,当您第一次使用推送连接表格视图控制器和查看控制器时,您可以开始编辑导航栏没有问题(例如把条形物品放在上面)。
然后删除表格视图控制器和视图控制器之间的连接(但不要删除刚刚添加的导航栏项目),然后重新连接两个控制器通过使用segue 显示,您会看到导航栏现在就像segue 推送一样。
希望有所帮助
答案 2 :(得分:6)
我认为你这样做的方式(通过不推荐的推动)并没有错,即使有另一种方式。实际上,当你将Segue转变为推动时,你会得到一个导航项目。
所以你要做的就是向你的View Controller添加一个导航项,这样就可以了:
答案 3 :(得分:5)
这似乎是Xcode的错误。
就我而言,我按照这个顺序重新创建了segue:
现在,我可以编辑导航标题并添加自定义导航项目按钮。
我正在使用Xcode 6.4和最小目标iOS版本7。
答案 4 :(得分:3)
在你的viewController中:
self.navigationItem.title = "Second VC"
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playFunction:")