后退按钮左对齐IOS 9
Posted
技术标签:
【中文标题】后退按钮左对齐IOS 9【英文标题】:Back Button Left Alignment IOS 9 【发布时间】:2016-04-19 05:21:14 【问题描述】:我正在尝试左对齐后退按钮即删除后退箭头左侧的空间。使用自定义后退按钮。
let backButton = UIBarButtonItem(image: UIImage(named: "arrow03"), style: .Plain, target: self, action: "back")
self.navigationController?.navigationBar.tintColor = UIColor.clearColor()
self.navigationItem.backBarButtonItem = backButton
尝试按照下面的 SO 链接中的建议对按钮使用负宽度,但它不起作用。 How to Edit Empty Spaces of Left, Right UIBarButtonItem in UINavigationBar [ios 7]
图片
http://imgur.com/PA9HLBm
请帮忙。
【问题讨论】:
因为在示例中他们分配给 leftbarbutton 而不是 backBarButton 。我认为您应该尝试在此***.com/questions/36114423/… 中回答 2。如果您希望每个控制器的后栏按钮上都有相同的图像。 谢谢@SahilBeri 让我试试 【参考方案1】:参考以下代码实现左对齐后退按钮。
let button: UIButton = UIButton (type: UIButtonType.Custom)
button.setImage(UIImage(named: "imageName"), forState: UIControlState.Normal)
button.addTarget(self, action: "backButtonPressed:", forControlEvents: UIControlEvents.TouchUpInside)
button.frame = CGRectMake(0, 0, 30, 30)
let barButton = UIBarButtonItem(customView: button)
self.navigationItem.leftBarButtonItem = barButton
注意 - 确保您的图片必须是纯(透明)背景。
func backButtonPressed(btn : UIButton)
self.navigationController?.popViewControllerAnimated(true)
Swift 4 代码
override func viewDidLoad()
super.viewDidLoad()
let button: UIButton = UIButton (type: UIButtonType.custom)
button.setImage(UIImage(named: "imageName"), for: UIControlState.normal)
button.addTarget(self, action: Selector(("backButtonPressed:")), for: UIControlEvents.touchUpInside)
button.frame = CGRect(x: 0 , y: 0, width: 30, height: 30)
let barButton = UIBarButtonItem(customView: button)
self.navigationItem.leftBarButtonItem = barButton
func backButtonPressed(btn : UIButton)
self.navigationController?.popViewController(animated: true)
【讨论】:
谢谢 .. 尝试了图像现在对齐的代码。但是单击后退按钮会崩溃吗?有什么解决方法吗? 检查操作:“backButtonPressed”必须同名。以上是关于后退按钮左对齐IOS 9的主要内容,如果未能解决你的问题,请参考以下文章