NSWindow,按回车键:如何限制监听焦点NSControl的键?

ane*_*yzm 5 macos cocoa objective-c interface-builder

我有NSWindow一个主要的“确定”按钮。此按钮在Interface Builder中,关键是“等价键”属性ENTER,即?

它工作得很好,但现在我有一个 new NSComboBox,它应该在用户选择一个列表项时调用一个方法,或者他按下Enter/ ?

但是,当我按下 Enter 键时,主按钮会收到通知并关闭窗口。如何防止这种情况?

Ano*_*dya 4

这是您所得到的正常行为,但您可以通过删除和添加等效密钥来进行一些修改。

添加以下 NSComboBox 委托:

- (void)comboBoxWillPopUp:(NSNotification *)notification;{
    [self.closeButton setKeyEquivalent:@""];
}


- (void)comboBoxWillDismiss:(NSNotification *)notification;{
    [self.closeButton setKeyEquivalent:@"\r"];
}
Run Code Online (Sandbox Code Playgroud)