#UIBarButtonItem 的选择器函数在按下时不触发

#selector function of UIBarButtonItem not firing when pressed

我创建了这个右栏按钮项目,但按下时没有任何反应。 #selector 没有触发,我知道 @objc 函数有效。

let button = UIButton(type: .custom)
    button.setTitle("Uncheck All", for: .normal)
    button.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .semibold)
    button.setTitleColor(.bandzBlue(), for: .normal)
    button.layer.cornerRadius = 5
    button.backgroundColor = .white
    button.frame = CGRect(x: 0, y: 0, width: 92, height: 14)
    button.addTarget(self, action: #selector(self.addTapped), for: .touchUpInside)
    let barButton = UIBarButtonItem(customView: button)
    self.navigationItem.rightBarButtonItem = barButton
    @objc func addTapped() {
        stuff that works fine
    }

可能实例的其余部分在您的代码执行时尚未初始化。您是否尝试过在 viewDidLoad 中这样做?如果没有,请尝试这样做:

override func viewDidLoad() {
    super.viewDidLoad()

    configureYourBarButtonHere()
}

我记得看到很多问题都强调了这个问题,这个解决方案。这是我现在能找到的几个:

尝试

 button.setTitleColor(UIColor.gray, for: .normal)

而不是

button.setTitleColor(.bandzBlue(), for: .normal)

UIButton(type: .system)