gpt4 book ai didi

objective-c - NSWindowController执行关闭: method not work

转载 作者:行者123 更新时间:2023-12-03 17:39:04 32 4
gpt4 key购买 nike

我有一个 NSWindowController 的子类,我需要在其中添加代码,以便在按下键盘上的 esc 键时关闭关联的 NSWindow

我发现在 keyDown: 方法中,esc 按钮没有被处理,因此,在阅读了本网站和互联网上的其他问题后,我发现最好的解决方案是提供一个cancel: Controller 中的方法。事实上,在这项工作中,我覆盖了 cancel: 方法,并且当我按 esc 键时,我放在那里的 NSLog 效果很好。

问题是,如果我用简单的 [self.window PerformClose:self] 替换 NSLog ,这不起作用,当我按下 esc 按钮时,什么也没有发生,会发出拒绝操作的标准系统蜂鸣声。在我的代码中简单地关闭我的 NSWindow 我错过了什么?谢谢

最佳答案

看看:

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/performClose:

有趣的是:

... If the window doesn’t have a close button or can’t be closed (for example, if the delegate replies NO to a windowShouldClose: message), the system emits the alert sound.

我认为[self.window close]就是你想要的。如果您只想隐藏窗口(稍后再次显示),您可以使用 [self.window orderOut:self]

关于objective-c - NSWindowController执行关闭: method not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25923147/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com