我无法对以编程方式创建的NSButton进行等效的键工作。谁能告诉我我做错了什么?按下该按钮后,该按钮可以正常工作,但是等效的按键将不起作用。

NSButton *ESCButton = [[NSButton alloc] initWithFrame:NSMakeRect(0, 0, 10, 10)];
[[quickEntryWindow contentView] addSubview:ESCButton];
[[ESCButton cell] setKeyEquivalent:@"\E"];
[ESCButton setTarget:self];
//[ESCButton setTransparent:YES];
[ESCButton setAction:@selector(hideQuickEntryWindow)];
[quickEntryWindow setDefaultButtonCell:[ESCButton cell]];
[quickEntryWindow enableKeyEquivalentForDefaultButtonCell];

最佳答案

-setDefaultButtonCell:将单元格转换为窗口默认按钮单元格,该单元格必须具有等效的键\r(返回/ Enter)。如果要使用其他等效键,请删除

[quickEntryWindow setDefaultButtonCell:[ESCButton cell]];
[quickEntryWindow enableKeyEquivalentForDefaultButtonCell];

10-08 05:23