我正在尝试将BackButton设置为图像,而不是标准文本和backArrow,但是无论如何我都无法正常工作。我试过隐藏BackButton并设置leftBarbutton,但是backButton没有隐藏,我试过如下设置backBarButtonItem,但仍然只显示标准的backButton。我究竟做错了什么?
var backButton:UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "left"), style: UIBarButtonItemStyle.Plain, target: self, action: Selector("goBack:"))
self.navigationController?.navigationItem.backBarButtonItem = backButton
现在尝试
var backButton:UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "left"), style: UIBarButtonItemStyle.Plain, target: self, action: Selector("goBack:"))
self.navigationController?.navigationItem.leftBarButtonItem = backButton
最佳答案
您不应使用self.navigationController?.navigationItem
,而应直接使用self.navigationItem
!
但是无论如何,要获得更多背景信息:
当此导航项目位于堆栈顶部项目的紧下方时,导航控制器将从该导航项目派生导航栏的后退按钮。
(摘自backBarButtonItem
的Apple文档
)
这意味着,backBarButton
item属性只能更改您下推到UINavigationController
堆栈上的下一个viewController的后退按钮外观。
为了达到理想的效果,您可以
设置leftBarButtonItem
(这会自动隐藏后退按钮)并在单击时手动调用self.navigationController.popViewControllerAnimated(true)
要么
使用UINavigationBar.appearance()
API。
关于ios - 将图像设置为backButton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27216749/