Я хочу настроить NSPopUpButton
, поэтому я реализовал CustomMenuItemView
, который сейчас имеет только следующий код (для целей тестирования):
- (void)drawRect:(NSRect)dirtyRect
{
[[NSColor redColor] set];
NSRectFill(dirtyRect);
}
Теперь, для каждого NSMenuItem
, который я добавляю к NSMenu
в myPopUpButton.menu
, я устанавливаю свой собственный вид:
NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:@"Some title" action:NULL keyEquivalent:@""];
menuItem.view = [[CustomMenuItemView alloc] initWithFrame:NSMakeRect(0, 0, 100, 25)];
Когда я запускаю свою программу и открываю всплывающую кнопку, выбор пункта меню кажется отключенным (то есть, когда я нажимаю на него, ничего не происходит).
Я предполагаю, что он на самом деле не отключен; он просто больше не реагирует на события. Нужно ли мне добавлять обработку событий в моем собственном представлении? Если да, то как?