0
我有一個NSTextField
關鍵通知。當按鍵被按下時,我想檢查插入位置是否位於位置0:執行某項操作,否則執行默認操作。NSTextField購物車的位置
class ConsoleTextField: NSTextField {
var commandHistory:[String] = []
var commandPosition:Int = 0
var keyDownMonitor:Any? = nil
override func becomeFirstResponder() -> Bool {
if keyDownMonitor == nil {
keyDownMonitor = NSEvent.addLocalMonitorForEvents(matching: .keyDown) {
self.keyDown(with: $0)
return $0
}
}
return super.becomeFirstResponder()
}
override func textDidEndEditing(_ notification: Notification) {
super.textDidEndEditing(notification)
if let keyDownMonitor = keyDownMonitor {
NSEvent.removeMonitor(keyDownMonitor)
}
keyDownMonitor = nil
}
override func keyDown(with event: NSEvent) {
switch event.keyCode {
case 125: // down arrow key
// here I want to check current caret position in text field
default:
break
}
}
}
我看相關的問題,如:
How to find caret position in an NSTextView?
但我不能讓他們對雨燕
工作