gpt4 book ai didi

ios - 如何在 Swift 中替换 Material 中的后退按钮

转载 作者:行者123 更新时间:2023-11-30 12:20:07 24 4
gpt4 key购买 nike

我想更改后退按钮的行为,并将 Material 的后退按钮替换为新的栏按钮,如下所示:

let backButton: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named: "prev"), for: .normal)
btn.frame = CGRect(x: 0, y: 0, width: 33/2, height: 27/2)

return btn
}()

viewDidLoad函数中:

override func viewDidLoad() {
super.viewDidLoad()

backButton.action = { [weak self] in self?.showAlert() }
let barButton = UIBarButtonItem(customView: backButton)
navigationItem.backButton.isHidden = true
navigationItem.leftBarButtonItems = [barButton]
}

但是我无法点击新后退按钮,因为它被UINavigationBarBackIndicatorView覆盖。

如何用 Material 替换后退按钮。我想保留 Material 库,因为在项目的其他功能中我需要 Material

提前感谢您的帮助。

最佳答案

在您的 viewDidLoad() 方法中执行此操作:

    self.navigationItem.backBarButtonItem.hidden = YES
let newBackButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(YourViewController.back(sender:)))
self.navigationItem.leftBarButtonItem = newBackButton
self.navigationItem.leftBarButtonItem?.image = UIImage(named : "prev")
self.navigationItem.leftBarButtonItem?.accessibilityFrame = CGRect(x: 0, y: 0, width: 33/2, height: 27/2)

然后在 View Controller 中定义一个名为 back 的函数,该函数将为您的新后退按钮执行所需的操作

func back(sender: UIBarButtonItem) {
// Perform your custom action
}

注意无需定义单独的按钮变量

**如果 self.navigationItem.backBarButtonItem.hidden = YES 不起作用,则将其替换为 self.navigationItem.backBarButtonItem = nil; **

关于ios - 如何在 Swift 中替换 Material 中的后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44896297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com