2010-09-18 117 views
0

我需要使用自定義視圖到NSMenuItem中。我創建了一個新視圖XIB並在其中定製了視圖。我如何加載該視圖並使用setView:方法將其設置在NSMenuItem中?從XIB加載NSView子類

UPDATE:我找到了一個解決方案,但現在自定義視圖的菜單項不會在鼠標懸停時高亮顯示。何可以解決這個問題嗎?

回答

2

我創建了一個NSViewController子類,並將其設置爲XIB中的文件所有者。然後,我設置文件的所有者自身的觀點出口到視圖在廈門國際銀行終於在需要的時候,我實例化視圖控制器,並設置它的視圖作爲NSMenuItem視圖用下面的代碼:

CustomViewController *viewController = [[CustomViewController alloc] initWithNibName:@"NibName" bundle:nil]; 

NSMenuItem *menuItem = [[NSMenuItem alloc] init]; 
[menuItem setView:[viewController view]]; 
+0

菜單具有自定義視圖的項目不會在鼠標懸停時高亮顯示。何可以解決這個問題嗎? – 2010-09-19 11:36:29

+1

我需要在創建控制器後立即添加行 '[viewContoller loadView];' 。 至於突出顯示的觀點,我的猜測是,你需要手動完成所有。跟蹤鼠標在視圖中並根據需要重繪。 – 2012-04-02 13:03:38