编辑 NSTextField 时检测箭头/输入键

ger*_*bil 1 cocoa nstextfield

我找不到任何可以解决此问题的最新信息。如何在编辑时监视箭头键之类的东西NSTextField

从我查了一下: -NSControlTextEditingDelegate函数没有被调用(我不知道如何使用它们) -NSTextFieldDelegate函数没有列出可以在这里工作的东西

ger*_*bil 5

设置文本字段的委托:

textField.delegate = self
Run Code Online (Sandbox Code Playgroud)

为协议添加以下继承:

class MyTextField : NSTextFieldDelegate, NSControlTextEditingDelegate { ...

并执行以下操作:

   func control(_ control: NSControl, textView: NSTextView, doCommandBy commandSelector: Selector) -> Bool {
    if commandSelector == #selector(moveUp(_:)) {
        ...
    } else if commandSelector == #selector(moveDown(_:)) {
        ...
    } else if commandSelector == #selector(insertNewline(_:)) {
        ...
    }
    return true
}
Run Code Online (Sandbox Code Playgroud)

此链接中有更深入的解释识别用户是否在编辑 NSTextField swift 时按下了箭头键