Ios 如何将按钮添加到导航控制器,在分段后可见?

Ios 如何将按钮添加到导航控制器,在分段后可见?,ios,xcode,xcode6,xcode6-beta6,Ios,Xcode,Xcode6,Xcode6 Beta6,我在序列图像板中设置了一个视图控制器,它嵌入在导航控制器中。在这个导航控制器中,我选中了显示导航栏和显示工具栏,并在模拟度量中分别在顶部栏和底部栏中启用了导航栏和工具栏。然后,我从视图控制器向另一个视图控制器“显示例如推送”切换。在两个视图控制器上,我以相同的方式设置了模拟度量,因此导航栏和工具栏在所有三个控制器上都可见 问题是,我可以将条形按钮项目添加到第一个视图控制器的导航栏和工具栏中,但无法将条形按钮项目添加到第二个视图控制器的导航栏中。当我在导航栏上放置一个按钮时,它会被添加到工具栏中。

我在序列图像板中设置了一个视图控制器,它嵌入在导航控制器中。在这个导航控制器中,我选中了显示导航栏和显示工具栏,并在模拟度量中分别在顶部栏和底部栏中启用了导航栏和工具栏。然后,我从视图控制器向另一个视图控制器“显示例如推送”切换。在两个视图控制器上,我以相同的方式设置了模拟度量,因此导航栏和工具栏在所有三个控制器上都可见

问题是,我可以将条形按钮项目添加到第一个视图控制器的导航栏和工具栏中,但无法将条形按钮项目添加到第二个视图控制器的导航栏中。当我在导航栏上放置一个按钮时,它会被添加到工具栏中。我不能双击导航栏来添加标题。在大纲中,我看到第二个视图控制器上没有导航项,但它在第一个视图控制器中

我可能可以通过编程方式将按钮添加到导航栏中,但我希望在故事板中以可视化的方式完成此操作。我的问题是,这个设置有什么问题,或者这是Xcode的错误


对于XCode 6,第二视图控制器之后的
UINavigationItem
不会自动添加到情节提要内的视图控制器对象上。您必须先将
UINavigationItem
拖到该视图控制器对象的导航栏上,然后再将
UIBarButtonItem
添加到其顶部

我不知道为什么它是这样设计的。我几周前才发现这件事


对于层次结构中的第二视图控制器,您可以在属性中设置标题,而无需添加“导航项”

如果你有大量的视图控制器和很少的自定义自动布局功能,你可以禁用大小类,然后重新启用它将在你的故事板上添加所有缺失的导航条

如果有大量自定义自动布局链接,显然不推荐使用。


如果您只有一个缺少导航条的UIViewController,只需在其上放置一个UINavigationItem。

如果您使用的是Xcode 7 beta 4/5,请尝试重新启动Xcode。它为我解决了问题。

我认为这是一个bug。我也有同样的问题。我通过禁用大小类,然后启用它来修复这个问题

您可以在Interface builder文档中禁用和启用大小类


这很简单。您只需首先使用navigaitonItem作为按钮的固定器,然后可以在其上添加barButtonItems

我刚刚碰到了这个问题,它似乎受到显示视图控制器的顺序的影响

如果segue中的“种类”设置为“显示(如推送)”,则无法将项目拖动到右上角。但是,如果将“种类”设置显式更改为“推送”,则可以完成此操作


编辑:事实上,我刚刚注意到“推送”已经被弃用了。不知道苹果在想什么。但是,添加按钮后,您可以将其改回“Show”,它似乎可以工作:D

实际上,我不知道这是一个bug。我认为这样设计是为了让开发人员拥有更多的控制权。我会报告它,他们会知道这是否是预期的行为。:)这绝对不是原因。我使用的是Xcode 6.4,它会自动添加导航项(如果有标题,也会有一个
UINavigationItem
。我可以看到它,单击它,更改它的标题,等等。除了添加按钮之外,一切都可以正常工作。重新添加(覆盖)该项目确实有帮助。所以谢谢!我打赌我的未出生的孩子,这是一个错误!@Julian可能他们在6.4中修复了该行为,因为我使用6.2,并且
导航项目在我添加之前肯定不在那里。很好的解决方案!对我有效,很有趣!我知道这很老,但对我有效。有点烦人,但仍然有效。这与一年前的答案相同。请先阅读现有答案,然后再为旧问题添加新答案。谢谢。另请参阅Xcode 8中出现的另一个相关问题:是否可以对此进行扩展?是的,当然。按照以下步骤操作:1-将navItem从对象库拖到viewController,2-从库中拖一个barButtonItem并将其放置在上您刚刚添加到视图中的navigationItem的顶部。3-运行应用程序,您现在应该在屏幕上显示barButtonItem。是的,这很奇怪,您必须将其更改为(不推荐)Push,然后返回显示,导航项才能显示在列表中