操作方法不工作OSX

时间:2016-05-26 15:42:40

标签: swift macos

如果用户按下文本字段,我正在尝试处理点击事件。不知何故,它不是在功能内部跳跃。这是我的代码:

class ViewController: NSViewController {
    override func viewDidLoad() {

        let textField2 = NSTextField(frame: CGRectMake(30, 30, 37, 17))
        textField2.stringValue = "Label"
        textField2.bordered = false
        textField2.backgroundColor = NSColor.controlColor()
        view.addSubview(textField2)

        textField2.action = #selector(myAction)
    }

    func myAction(sender: NSView)
    {
        print("aktuell: \(sender)")
        currentObject = sender
    }
}

如果我点击文本字段,它就不会跳入该功能。 有人知道如何将文本字段链接到函数吗?请注意,它必须是该功能,因为我也将其他控件链接到它(例如按钮)。

2 个答案:

答案 0 :(得分:1)

您无法链接这样的文本字段。你想要完成的是什么?您可能需要NSTextFieldDelegate方法。查看该协议的帮助。如果那些有你想要的,那么只需设置textField2.delegate = self然后实现协议。

答案 1 :(得分:0)

实现 - (void)textFieldDidBeginEditing:(UITextField *)UITextFieldDelegate协议的textField方法。例如:

 - (void)textFieldDidBeginEditing:(UITextField *)textField{
if textField.isEqual(firstTextField){
//some code
}
if textField.isEqual(secondTextField){
//other code
}
}