я настроить меню и назначить делегатаNSMenu не призывают делегатов menuHasKeyEquivalent:
- (void)constructAndDisplayMenu {
NSMenu * menu = [[NSMenu alloc] initWithTitle:@""];
{
NSMenuItem * item = [[NSMenuItem alloc] initWithTitle:@"1" action:@selector(menuItemPressed:) keyEquivalent:@""];
[menu addItem:item];
}
{
NSMenuItem * item = [[NSMenuItem alloc] initWithTitle:@"2" action:@selector(menuItemPressed:) keyEquivalent:@""];
[menu addItem:item];
}
{
NSMenuItem * item = [[NSMenuItem alloc] initWithTitle:@"3" action:@selector(menuItemPressed:) keyEquivalent:@""];
[menu addItem:item];
}
[menu popUpMenuPositioningItem:nil atLocation:NSMakePoint(2,2) inView:self];
self.menu = menu;
menu.delegate = self;
}
меню получает обнаружился, и я получаю делегировать функции обратного вызова, как menuDidClose:
, но я не получаю вызов menuHasKeyEquivalent:forEvent:target:action:
- (BOOL)menuHasKeyEquivalent:(NSMenu*)menu forEvent:(NSEvent*)event target:(id*)target action:(SEL*)action {
NSLog(@"%@", event);
return NO;
}
При наборе на клавиатуре, то NSMenu изменяет выделенный элемент автоматически, но не обратный вызов на делегата не делается