我无法在swift中检测用户的双击,我想在用户双击nstextfield时检测。
func someFunc() {
y.target = self
y.action = "editLabel:"
}
@IBAction func editLabel(obj:AnyObject?) {
NSLog("here");
}
上面的代码不起作用,我似乎找不到显示如何添加事件处理程序的基本文档。有更简单的方法吗?
最佳答案
我想您的文本字段是一个标签,而不是处于正常状态的可编辑文本字段。从OS X 10.10(约塞米蒂)开始,您可以使用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")
}
}