Я хочу настроить 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)];
Когда я запускаю свою программу и открываю всплывающую кнопку, выбор пункта меню кажется отключенным (т.е. ничего не происходит, когда я нажимаю на него).
Я предполагаю, что на самом деле он не отключен; он просто больше не реагирует на события. Нужно ли мне добавить некоторую обработку событий в моем пользовательском представлении? Если да, то как?