[英]UIBarButtonItems won't appear in Navigation Bar
我有一个UIViewContoller
,它不是故意嵌入在UINavigationController
,我想在导航区域中添加自定义按钮。 我相信我编写的代码应该可以工作,因为它遵循了我在多个关于UIBarButtonItem
线程上找到的建议方法(尽管这些大多与样式有关)。 这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
let settingsButton = UIBarButtonItem(title: "Settings", style: .Plain, target: self, action: #selector(self.segueToSettings(_:)))
let saveToLogButton = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: #selector(self.logThisLift(_:)))
let viewLogButton = UIBarButtonItem(title: "Log", style: .Plain, target: self, action: #selector(self.segueToLog(_:)))
self.navigationItem.leftBarButtonItem = settingsButton
self.navigationItem.rightBarButtonItems = [viewLogButton, saveToLogButton]
}
结果如下(“视图”层次结构也可见):
我以为我可能需要在情节提要中添加“条形按钮项目”,但这似乎无法实现我想要执行的代码中这样做的目的。
我也尝试调试视图层次结构,但在那儿看不到它们。
有人知道为什么这些不会出现吗?
在您的代码中,您使用self.navigationItem
但是您没有导航项,因为您的控制器未嵌入在导航控制器中。
您已经添加了导航栏,但是需要添加导航项。
您必须将导航项拖到导航栏,然后(通过插座)绑定到代码。 之后应该是这样的:
@IBOutlet weak var navItem: UINavigationItem!
然后您可以说:
self.navItem.leftBarButtonItem = settingsButton
self.navItem.rightBarButtonItems = [viewLogButton, saveToLogButton]
您应该在文档概述中看到它,如下所示:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.