iOS - 在UINavigationController上设置UIToolBarItem

问题描述:

我在故事板中拖出一个toolbaritem并将其设置在我的导航控制器上,但是当我运行我的代码时,它不在那里,是否有我丢失的东西?iOS - 在UINavigationController上设置UIToolBarItem

编辑:

试图在我viewDidLoad方法在代码中设置它,以及:

UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Map" style:UIBarButtonItemStyleBordered target:self action:@selector(viewMap)]; 
self.navigationItem.rightBarButtonItem = rightBarButton; 

不会工作。

下面是它是如何建立在我的故事板:

enter image description here

UPDATE:

刚刚发现我的问题。在我的控制器代码中,当我更新它的内容时,我更改了微调器的右边栏按钮项,并且从未将它重新设置为之前的设置。

UINavigationController已经内置了一个工具栏,它有它的默认设置为YES,这就是为什么它通常不可见的属性toolBarHidden。如果您正在使用故事板,则在选择导航控制器时,可以通过选中检查器中的“显示工具栏”复选框来轻松使内置底部工具栏可见。

有关更多详细信息,请参阅UINavigationController documentation here

编辑:

好吧,这听起来像你正在尝试做的是增加一个右键你的视图控制器的UINavigationItem。要在故事板中执行此操作,请将对象库中的“Bar Button Item”拖到ViewController中的导航项上。然后,您可以设置条形按钮项目的标题/样式/等。如果在运行应用程序时没有显示任何内容,请确保您的ViewController与导航控制器的segue正确连接。

另外请确保您将Bar Button Item添加到您的视图控制器的导航项,而不是View Controller本身。下面是设置应该如何看你的故事板:

enter image description here

+0

好的,也许它不是我想要设置的工具栏,但导航控制器的右侧栏按钮有 – 8vius 2012-02-17 18:51:17

+0

而且我没有拖出一个工具栏btw,只是一个工具栏项目来设置它在导航栏上 – 8vius 2012-02-17 19:04:50

+0

我把它拖到我的视图控制器,并将其设置在导航栏上,它不会显示也试图设置它在我的viewDidLoad metod,也没有工作 – 8vius 2012-02-17 19:39:59

要将项目添加到导航栏,你需要一个Bar Button Item添加到包含在视图控制器导航项目。转到故事板,找到正确的VC,然后找到导航项目(它位于导航控制器“场景”中显示的层次结构中)。只需将一个栏按钮项拖到导航项下面的层次结构中,或者直接拖到可视化构建器显示中的导航栏上。

当VC被推入堆栈时,导航控制器仅查看VC的导航项;因此在viewDidLoad中修改VC的导航项目不起作用。

(我已经通过编程的方式之前,但我没有与我的代码,所以也许我会在稍后添加...)

+0

如果你看看我的问题中的图片,你会看到我正是这样做的,并且它不会工作 – 8vius 2012-02-17 20:50:23

+0

你是如何让导航栏显示在相关VC中的?您是否将视图嵌入到导航控制器中(例如,您的故事板显示标签栏控制器 - >导航控制器 - > VC)? – AndrewS 2012-02-17 21:15:34

+0

是的,刚刚打在导航控制器中嵌入 – 8vius 2012-02-17 22:14:45