Эквивалент ключа NSButton - PullRequest
2 голосов
/ 17 февраля 2011

Я не могу сделать ключевой эквивалент работы над 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];

1 Ответ

4 голосов
/ 17 февраля 2011

-setDefaultButtonCell: превращает ячейку в ячейку кнопки окна по умолчанию, которая обязательно имеет эквивалент ключа \r (Return / Enter)Если вы хотите использовать другой эквивалент ключа, удалите

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