Luc*_*uca 0 cocoa objective-c keydown nswindow nswindowcontroller
我有一个子类,当我按键盘上的 esc 键时,NSWindowController我需要在其中放置代码以关闭关联。NSWindow
我发现在方法中keyDown:esc 按钮没有被处理,所以在阅读了本网站和互联网上的其他问题后,我发现最好的解决方案是cancel:在控制器中提供一种方法。事实上,这项工作,我重写了该cancel:方法,NSLog当我按 esc 键时,我放在那里的方法效果很好。
问题是,如果我NSLog用一个简单的替换[self.window performClose:self],这不起作用,当我按下 esc 按钮时,什么也没有发生,并且会播放拒绝操作的标准系统蜂鸣声。我想念什么来简单地关闭我的NSWindow代码?谢谢
看一下:
\n\n\n\n有趣的是:
\n\n\n\n\n...如果窗口没有\xe2\x80\x99t 关闭按钮或者可以\xe2\x80\x99t 关闭(例如,如果代理对 windowShouldClose: 消息回复“否”),\n 系统会发出警报声。
\n
我想[self.window close]这就是你想要的。如果您只想隐藏窗口(并稍后再次显示),您可以使用[self.window orderOut:self]