NSButton 不调用它的动作
NSButton does not call its action
我在处理 NSButton 的操作时遇到了一些麻烦。我以编程方式创建一个按钮 ...
let continueButton = NSButton(title: "Continue", target: self, action: #selector(self.continueButtonClicked))
...调用此函数:
@objc func continueButtonClicked() {
print("continueButtonClicked")
}
但是,continueButtonClicked
从未被调用,按钮似乎被禁用。我试过启用它,但没有成功。
我是不是漏掉了什么?
我认为您需要在方法中包含发件人信息。以下代码应该可以工作并且与 Swift 4.
兼容
let continueButton = NSButton(title: "Continue", target: self, action: #selector(self.continueButtonClicked(_:)))
@objc func continueButtonClicked(_ sender: NSButton) {
print("Continue button clicked")
}
好的,事实证明,按钮确实调用了动作,但它只是在按下几秒钟后才反应过来。我设法找出原因是我在按钮的超级视图上有一个 NSClickGestureReckognizer。在显示按钮时禁用它对我来说解决了这个问题。
我希望这对遇到类似问题的人有所帮助。
我在处理 NSButton 的操作时遇到了一些麻烦。我以编程方式创建一个按钮 ...
let continueButton = NSButton(title: "Continue", target: self, action: #selector(self.continueButtonClicked))
...调用此函数:
@objc func continueButtonClicked() {
print("continueButtonClicked")
}
但是,continueButtonClicked
从未被调用,按钮似乎被禁用。我试过启用它,但没有成功。
我是不是漏掉了什么?
我认为您需要在方法中包含发件人信息。以下代码应该可以工作并且与 Swift 4.
兼容let continueButton = NSButton(title: "Continue", target: self, action: #selector(self.continueButtonClicked(_:)))
@objc func continueButtonClicked(_ sender: NSButton) {
print("Continue button clicked")
}
好的,事实证明,按钮确实调用了动作,但它只是在按下几秒钟后才反应过来。我设法找出原因是我在按钮的超级视图上有一个 NSClickGestureReckognizer。在显示按钮时禁用它对我来说解决了这个问题。
我希望这对遇到类似问题的人有所帮助。