swift os x 响应 NSTextField 的controlTextDidChange事件

NSTextField默认的action事件,只有在鼠标失去焦点后才会触发,如果想响应文件改变的事件,则不能直接使用action。而是要写代码了,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@NSApplicationMain

//注意下面这行代码添加了NSTextFieldDelegate
class AppDelegate: NSObject, NSApplicationDelegate,NSTextFieldDelegate {

    @IBOutlet weak var window: NSWindow!

    @IBOutlet weak var n_from_year: NSTextField!
   
    func applicationDidFinishLaunching(aNotification: NSNotification) {
        n_from_year.delegate = self
    }

    //重写NSTextFieldDelegate中的controlTextDidChange方法,用于执行NSTextField内容改变后要处理的业务。
    override func controlTextDidChange(notification: NSNotification?) {
        //Do things
    }

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注