swift2 UIBarButtonItem未显示在视图中

disho6za  于 2022-11-06  发布在  Swift
关注(0)|答案(3)|浏览(231)

我试图在视图中添加两个项目到我的导航控制器。以前我总是选择视图,然后单击产品-〉嵌入-〉导航控制器。
我注意到这在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
我希望有人能帮助我。

q9rjltbz

q9rjltbz1#

navigationItem表示UIViewController希望其导航栏在UINavigationController中的外观。
使用navigationController?.navigationItem.rightBarButtonItem = right,您将修改navigationController本身的navigationItem。
您所需要的只是更改UIViewController的navigationItem,因此请删除语句中的navigationController?.部分:
navigationItem.rightBarButtonItem = right
所有的UIViewController都有navigationItem,这就是为什么UINavigationController本身有一个。

9w11ddsr

9w11ddsr2#

如果可以的话,我会对此进行评论;但是在情节提要中标签栏控制器 * 之前 * 的导航控制器看起来有点奇怪。
我好像记得一些苹果文档说标签栏应该是根视图。我现在看不到它,但我会继续寻找。

rqcrx0a6

rqcrx0a63#

您必须将每个子ViewController放入UINavigationBarController中。如下所示:

相关问题