2011-03-26 50 views
1

我在NSStatusItem中嵌入了WebView,並且當用戶右鍵單擊WebView/NSStatusItem時,我想要顯示在Interface Builder中構建的NSMenu。什麼是最簡單的方法來做到這一點?在NSStatusItem中爲WebView定製右鍵菜單

+1

'NSStatusItem'內的'WebView' ??這聽起來*非常*非常規... – 2011-03-26 07:24:20

+0

哈哈,我知道,但我有我的理由:) – Chetan 2011-03-26 08:16:38

回答

-1
[statusItem setMenu:menu]; 

或右鍵單擊,創建nsview的新子類。在子類中添加方法:

(void)rightMouseUp:(NSEvent *)theEvent 

然後你可以設置視圖到statusItem [statusItem setView:view];

+0

這似乎沒有做任何事情右鍵點擊... – Chetan 2011-03-26 08:16:20

+0

啊沒有看到這一點。只需創建一個nsview的新子類。在你的子類中添加方法: - (void)rightMouseUp:(NSEvent *)theEvent。然後你可以將視圖設置爲statusItem [statusItem setView:view]; – lbrndnr 2011-03-26 09:39:25

5

您可以分配一個對象作爲Web視圖的WebUIDelegate和實現這個委託方法:

- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems 

在那裏你可以自定義創建菜單項返回數組。