只是想知道,我如何检测不同的击键,然后检测我按下了哪个键,我尝试使用它,
-(void)keyDown:(NSEvent *)event
但似乎没有得到任何结果。我也有搜索但没找到任何东西。我猜我可能要在界面构建器中设置一些东西来检测击键?
我还认为它与所选内容有关,如果它是文本字段的话。
答案 0 :(得分:1)
keyDown:
方法仅针对特定视图调用,而我认为是子视图。如果您需要为应用程序完成所有击键 - 请检查NSEvent
类方法:
+ (id)addLocalMonitorForEventsMatchingMask:(NSEventMask)mask
handler:(NSEvent* (^)(NSEvent*))block
继续阅读Xcode文档。我认为你是雪豹。
答案 1 :(得分:0)
我尝试使用这个, - (void)keyDown:(NSEvent *)事件,但似乎没有得到任何结果。
你是什么意思“使用”它?
您需要一个对象来回复该消息。这意味着你需要它成为一个响应者,并且只要它适合于它所处理的键盘按下就处于响应者链中。
根据按键的功能,单个自定义视图处理它可能是合适的;如果没有,它应该是处理它的窗口控制器。在适当的时候,任何一个人都应该已经在响应者链中。无论你采用哪种方式,你都需要子类化NSView(用于自定义视图)或NSWindowController。