我无法快速检测用户的双击,我想检测他们何时双击 NSTextField。
func someFunc() {
y.target = self
y.action = "editLabel:"
}
@IBAction func editLabel(obj:AnyObject?) {
NSLog("here");
}
上面的代码不起作用,我似乎找不到显示如何添加事件处理程序的基本文档。有更简单的方法吗?
最佳答案
我猜你的文本字段是一个标签,而不是正常状态下的可编辑文本字段。从 OS X 10.10 (Yosemite) 开始,您可以使用 NSClickGestureRecognizer
:
func applicationDidFinishLaunching(aNotification: NSNotification) {
let gesture = NSClickGestureRecognizer()
gesture.buttonMask = 0x1 // left mouse
gesture.numberOfClicksRequired = 2
gesture.target = self
gesture.action = "editLabel:"
myLabel.addGestureRecognizer(gesture)
}
func editLabel(sender: NSGestureRecognizer) {
if let label = sender.view as? NSTextField {
print("Hello world")
}
}
关于macos - 在 Swift 中将点击处理程序添加到 NSTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33225520/