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
方法 expandButtonPressed 和 buildButtonPressed 已添加到我的视图控制器中。
下面是几张屏幕截图,解释了我的视图中有哪些控件,以及如何设置不同的视图。
这是 运行 应用程序的屏幕截图: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 应该是根视图。我现在看不到,但我会继续寻找。
您必须将每个子视图控制器放在导航栏控制器中。像这样:
我正在尝试向视图中的导航控制器添加两个项目。以前我总是习惯 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
方法 expandButtonPressed 和 buildButtonPressed 已添加到我的视图控制器中。
下面是几张屏幕截图,解释了我的视图中有哪些控件,以及如何设置不同的视图。
这是 运行 应用程序的屏幕截图: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 应该是根视图。我现在看不到,但我会继续寻找。
您必须将每个子视图控制器放在导航栏控制器中。像这样: