UIBarButtonItem未在视图

时间:2015-12-11 13:33:04

标签: ios xcode swift storyboard swift2

我正在尝试在视图中向导航控制器添加两个项目。在我总是用来选择视图而不是点击产品之前 - >嵌入 - >导航控制器。

我注意到xCode 7.1中突然出现了问题。我将Xcode更新到版本7.2并希望这可以解决我的问题,但事实并非如此。

我尝试使用代码添加UIBarButtonItems,但这也无效。但是,当我改变导航控制器的颜色时,我可以看到颜色的结果。

这是我尝试将项目添加到导航栏的代码:

    let left = UIBarButtonItem(image: UIImage(named: "hammer"), style: UIBarButtonItemStyle.Plain, target: self, action: "expandButtonPressed")
    let right = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: "buildButtonPressed")

    navigationController?.navigationItem.rightBarButtonItem = right
    navigationController?.navigationItem.leftBarButtonItem = left

expandButtonPressed buildButtonPressed 方法已添加到我的视图控制器中。

下面是几个截图,解释了我在视图中有哪些控件,以及如何设置不同的视图。

Screenshot displaying controls in view Screenshot displaying the setup of my view controllers in the story board.

以下是运行该应用的屏幕截图:https://drive.google.com/open?id=0B_FbD3kpEuvXYS1QYks0YTBVNmc

我希望有人可以帮助我。

3 个答案:

答案 0 :(得分:4)

A navigationItem表示UIViewController希望其导航栏在UINavigationController内的样子。

使用navigationController?.navigationItem.rightBarButtonItem = right,您正在修改navigationController本身的navigationItem。

您想要的是简单地更改UIViewController的navigationItem,因此请删除语句的navigationController?.部分:

navigationItem.rightBarButtonItem = right

所有UIViewController都有navigationItems,这就是UINavigationController本身有一个。

答案 1 :(得分:1)

如果可以,我会评论这个;但导航控制器之前故事板中的标签栏控制器看起来有点时髦。

我似乎记得一些Apple文档说Tab键应该是根视图。我现在看不到它,但我会继续寻找。

答案 2 :(得分:0)

您必须将每个子ViewControllers放在UINavigationBarController中。像这样:

enter image description here