2010-05-19 110 views
0

我需要在多個彈出按鈕之間共享相同的NSMenu實例。如何在多個NSPopUpButton實例之間最好地共享NSMenu

當我在IB中創建NSPopUpButton時,會自動創建一個新菜單並作爲NSPopUpButtonCell的子項插入。

目前,我只是在我的MainController中創建一個IBOutlet NSMenuItem * standardMenu成員,並將彈出按鈕的「菜單」出口連接到此,但這會在層次結構中留下「假」菜單。

當然,從IB內部乾淨的方式呢?

在此先感謝您提供的任何建議。

回答

1

你應該能夠在IB建立一個獨立的菜單做所有的連接等你需要的。然後創建一個連接到IB菜單的插座IBOutlet NSMenu *standardMenu;。然後,對於每個需要菜單的彈出窗口,請使用[popupButton setMenu:standardMenu];。如果由於某種原因,它會讓舊項目告訴它先刪除所有項目。

+1

謝謝。這就是爲什麼我試圖連接彈出式菜單按鈕的菜單出口時,給了我很多問題(這可以完成,但只能使用「反向引用出口」),所以我最終做了這件事。 仍然我會希望有一個更好的辦法比保持鏈接到所有popupbutton並以編程方式設置它們..在AppKit和IB的那些粗糙的邊緣之一.. – 2010-05-20 09:09:14

相關問題