cancelOperation:
在我的简单NSView
子类中没有被调用。
我检查了keyDown
收到的Esc密钥。此外,还会调用其他操作消息(例如moveLeft
)。
该视图是如下所示的窗口的一部分:
[self.window addChildWindow:wc.window ordered:NSWindowAbove];
[wc.window makeKeyAndOrderFront:self];
我做错了什么?
答案 0 :(得分:0)
您是以cancelOperation
还是cancelOperation:
来实施的?有很大的不同。方法签名应为:
- (void)cancelOperation:(id)sender
这适用于我的香草NSView
。
答案 1 :(得分:0)
我的派生NSView
有同样的问题。在实施acceptsFirstResponder
之后解决了以下问题:
- (BOOL)acceptsFirstResponder
{
return YES;
}
答案 2 :(得分:0)
在我的情况下,我有一个带有几个NSWindow
的应用。我不得不打电话
我[self.window makeFirstResponder:self]
子类中的NSView
让视图回复cancelOperation:
。