我想要导航栏中的后退按钮的自定义图像,但有2个后退按钮

时间:2019-07-28 07:59:01

标签: ios swift uikit

有人能解释一下为什么会这样吗?

我有一个ViewController A和ViewController B,其中Apush(),而B在最上面。

A内部,我创建了以下代码:

    private lazy var backBarButton: UIBarButtonItem = {
    let button = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: nil, action: nil)
    button.tintColor = .white
    return button
}()

这给了我疯狂的输出:)就像默认的iOS箭头+我的挨着。

enter image description here

至少它没有“ Back”标题,这也是我需要的东西:)

当我将代码更改为类似的内容时:

    private lazy var backBarButton: UIBarButtonItem = {
    let button = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
    button.tintColor = .white
    return button
}()

我有箭头(并且可以修改它的色调),没有title,但它与我的自定义图片不同。

enter image description here

为什么我的自定义图像根本不能代替系统库存?

2 个答案:

答案 0 :(得分:0)

您可以通过以下代码设置自定义后退导航按钮:

 private lazy var backBarButton: UIBarButtonItem = {
    let button = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: nil, action: nil)
    button.tintColor = .white
    return button
}()
self.navigationController?.navigationItem.hidesBackButton = true
self.navigationItem.backBarButtonItem = backBarButton

答案 1 :(得分:0)

首先,我将使用隐藏默认的后退按钮

self.navigationController?.navigationItem.hidesBackButton = true

然后我可以继续在左侧项目上添加新的自定义后退按钮

self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: nil, action: nil)