我无法在我以编程方式创建的 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
(Return/Enter)。如果您想使用其他等效 key ,请删除
[quickEntryWindow setDefaultButtonCell:[ESCButton cell]];
[quickEntryWindow enableKeyEquivalentForDefaultButtonCell];
关于cocoa - NSButton 等效键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025810/