我有一个 NSTextView
,每当用户按下 Shift
+ Return
键时,我应该执行一个操作。
但问题是我不知道如何知道用户是否按下了 Return
键。
我已经使用这段代码来了解用户是否按下了 Shift
键。
override func flagsChanged(theEvent: NSEvent) {
switch theEvent.modifierFlags.intersect(.DeviceIndependentModifierFlagsMask)
{
case NSEventModifierFlags.ShiftKeyMask :
print("shift key is pressed")
case NSEventModifierFlags.ControlKeyMask:
print("control key is pressed")
case NSEventModifierFlags.AlternateKeyMask :
print("option key is pressed")
case NSEventModifierFlags.CommandKeyMask:
print("Command key is pressed")
case NSEventModifierFlags.FunctionKeyMask:
print("Function key is pressed")
default:
print("no key or more than one is pressed")
}
}
但是NSEventModifierFlags
中没有返回键的选项。
让我知道你的想法?我将如何解决这个问题?
最佳答案
我建议您使用以下方法来获取 keyCode 以了解它何时是换档、返回键或您想要检测的任何内容,以防拥有所需的键,执行您的逻辑。
import Cocoa
class YourWindow: NSWindow {
override func keyDown(event: NSEvent) {
super.keyDown(event)
print("Caught a key down: \(event.keyCode)!")
}
}
您还可以使用 keyUp
事件
关于objective-c - Cocoa App 中的 Shift + Return 键操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38849797/