UIBarButtonItem 未显示在视图中

UIBarButtonItem not shown in View

我正在尝试向视图中的导航控制器添加两个项目。以前我总是习惯 select 视图,然后单击产品 -> 嵌入 -> 导航控制器。

我注意到这突然在 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

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

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

这是 运行 应用程序的屏幕截图:https://drive.google.com/open?id=0B_FbD3kpEuvXYS1QYks0YTBVNmc

我希望有人能帮助我。

A navigationItem 表示 UIViewController 希望其导航栏在 UINavigationController 中的外观。

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

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

navigationItem.rightBarButtonItem = right

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

如果可以的话,我会对此发表评论;但是那个导航控制器 之前 Storyboard 中的 Tab Bar Controller 似乎有点古怪。

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

您必须将每个子视图控制器放在导航栏控制器中。像这样: