我对 cocoa 编程相当陌生,我想问是否有人可以向我解释如何
-(BOOL)makeFirstResponder:(NSResponder *)responder;
方法有效。我计划将它用于 NSEvent
但有人可以告诉我如何实现它吗?
我正在尝试使用 NSResponder
类来获得一个有效的 -keyDown
方法。
最佳答案
NSResponder 是 Cocoa 中的基本类之一。任何可以响应按键或菜单命令等事件的类都应该是 NSResponder 的子类。每个响应者都跟踪它的“下一个响应者”,每个窗口都跟踪当前作为“第一响应者”的对象。当窗口中发生事件时,消息将发送到第一响应者。如果该对象处理该消息,那就太好了。如果没有,它将传递给下一个响应者。这称为“响应者链”。
通常,您不会对 Cocoa 中的响应者链造成太多困惑。第一响应者主要由用户操作决定,例如单击控件。
“将其用于 NSEvent”没有意义。 NSEvent 不是响应者,而是使响应者能够完成其工作的东西。
如果您更清楚地描述您想要实现的目标,我相信我们可以为您指明正确的方向。
关于objective-c - -makeFirstResponder : usage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5517968/