后退按钮左对齐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的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7后退按钮箭头垂直对齐

IOS - 垂直对齐导航栏中的后退按钮

iOS上如何让按钮文本左对齐问题

iOS上如何让按钮(UIbutton)文本左对齐展示

水平 UIStackView - 如何对齐里面的项目,以便一个向左浮动,另一个在中心?

更改导航栏后退按钮并删除标题以使其看起来像在 ios7 中