Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSButton失败时的密钥等效项_Objective C_Swift_Macos_Cocoa - Fatal编程技术网

Objective c NSButton失败时的密钥等效项

Objective c NSButton失败时的密钥等效项,objective-c,swift,macos,cocoa,Objective C,Swift,Macos,Cocoa,我试图在NSWindow中设置相当于NSButton的键。我在视图控制器的类中使用以下代码: someButton.keyEquivalent = "\r" 但是,当我运行应用程序时,按下该键将不会执行按钮的操作,而是播放系统的funk声音 包含此NSButton的窗口使用模式NSStoryboardSegue显示为窗口(而不是图纸)。如果在初始窗口中使用相同的代码和配置,则等效密钥将正确执行。演示类型是否会导致此问题?谢谢 编辑 事实证明这可能是一个错误。当在IB中取消选择标题栏时,等价键将

我试图在
NSWindow
中设置相当于
NSButton
的键。我在视图控制器的类中使用以下代码:

someButton.keyEquivalent = "\r"
但是,当我运行应用程序时,按下该键将不会执行按钮的操作,而是播放系统的funk声音

包含此
NSButton
的窗口使用模式
NSStoryboardSegue
显示为窗口(而不是图纸)。如果在初始窗口中使用相同的代码和配置,则等效密钥将正确执行。演示类型是否会导致此问题?谢谢

编辑


事实证明这可能是一个错误。当在IB中取消选择标题栏时,等价键将不起作用。我现在正试图找到一种方法,使该标题栏保持选中状态,并保持相同的窗口外观。保持选项处于选中状态,并使用
NSWindow
上的
标题栏透明
属性,我已成功删除了标题栏,但现在我不确定如何删除窗口边框。有什么想法吗?

您是否碰巧在窗口中禁用了标题栏?如果标题栏被禁用(即使标题栏未在工作表中使用),则在模式窗口中忽略键盘事件时会出现一些意外行为(犹豫是否将其称为bug)。

我会按照希望的方式删除窗口边框。有什么想法吗?我希望这个“错误”被报告如果你把它作为一个工作表来展示,这是不必要的,因为不管怎样,标题栏永远不会显示在工作表上。所以,把它打开并测试;我敢打赌,它会像你想要的那样,运行良好。如果还希望将场景用作非模态,请在
prepareforsgue…
中的代码中切换标题栏。不幸的是,我将其显示为普通窗口而不是图纸,因此我确实需要我的窗口不包含标题栏。是否有其他方法可以在保持开关打开的同时隐藏标题栏和后续窗口边框?我会更新我的问题我以为你说的是模态和假设表。很抱歉。可能需要更多的信息。你是否覆盖了窗口控制器或其内容视图控制器中的任何内容?我已经更新了我的问题。我不会覆盖视图控制器中的任何内容感谢您指出该错误!我当时正在发疯,想弄明白为什么
keyEquivalent
不适用于工作表上的按钮,正是这个。启用标题栏使一切再次正常工作(尽管标题栏永远不可见,因为我将窗口显示为工作表!)非常感谢!