У меня есть WebView, встроенный в NSStatusItem, и я хочу отобразить NSMenu, который я встроил в Interface Builder, когда пользователь щелкает правой кнопкой мыши на WebView / NSStatusItem. Какой самый простой способ сделать это?
Вы можете назначить объект как WebUIDelegate веб-представления и реализовать этот метод делегата:
- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems
где вы можете вернуть массив с пользовательскими пунктами меню.
[statusItem setMenu:menu];
или для правого клика создайте новый подкласс nsview. В вашем подклассе добавьте метод:
(void)rightMouseUp:(NSEvent *)theEvent
Затем вы можете установить представление для statusItem [statusItem setView:view];
[statusItem setView:view]