首页 > 解决方案 > 如何快速自定义导航返回按钮?

问题描述

我想更改导航栏上的后退按钮图标和标签以及后退按钮标签的颜色。我已经编写了以下代码,但它不起作用。如果有人知道解决方案,请帮助我。

override func viewDidLoad() {
        super.viewDidLoad()
        
        let yourBackImage = UIImage(named: "back_arrow")
        self.navigationController?.navigationBar.backIndicatorImage = yourBackImage
        self.navigationController?.navigationBar.tintColor = .white
        self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = yourBackImage
        self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Find or Invite", style: UIBarButtonItem.Style.plain, target: nil, action: nil)
    }

预期输出 在此处输入图像描述

标签: iosswiftuinavigationbar

解决方案


看起来您手动添加了没有嵌入式导航控制器的导航栏。

为此,只需像这样连接插座

   @IBOutlet weak var navigationBar: UINavigationBar!

并从您的代码中删除导航控制器部分,如下所示

let yourBackImage = UIImage(named: "back_arrow")
        self.navigationBar.backIndicatorImage = yourBackImage
        self.navigationBar.tintColor = .white
        self.navigationBar.backIndicatorTransitionMaskImage = yourBackImage
        self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Find or Invite", style: UIBarButtonItem.Style.plain, target: nil, action: nil)

推荐阅读