单击事件NSTextField OSX

时间:2016-05-28 01:50:27

标签: swift macos

我有多个文本字段,如果用户点击文本字段,我不会调用操作方法,这就是我目前所拥有的:

override func mouseDown(theEvent: NSEvent) {

}

用于点击事件。

这是按下文本字段时应引用的操作:

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

对于按钮,它正在使用动作和选择器,但这不适用于文本字段......

button.action = #selector(myAction)

请仅在swift中举例说明,我知道obj.-c中有很多例子。谢谢!

1 个答案:

答案 0 :(得分:-1)

使用它:

1)创建NSTextField的子类。

import Cocoa

class MyTextField: NSTextField {

    override func mouseDown(theEvent:NSEvent) {
        let viewController:ViewController = ViewController()
        viewController.textFieldClicked()
    }
}

2)使用界面构建,选择您想要关注的文本字段。导航到右窗格中的“自定义类”。然后将文本字段的类设置为刚刚创建的类。**

3)以下是ViewController的示例。

import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override var representedObject: AnyObject? {
        didSet {
        // Update the view, if already loaded.
        }
    }

    func textFieldClicked() -> Void {
        print("You've clicked on me!")
    }
}
相关问题