如何在多个NSPopUpButton实例之间共享NSMenu

时间:2010-05-19 14:28:03

标签: cocoa

我需要在多个弹出按钮之间共享相同的NSMenu实例。

当我在IB中创建NSPopUpButton时,会自动创建一个新菜单并将其作为NSPopUpButtonCell的子项插入。

目前,我只需在我的MainController中创建一个IBOutlet NSMenuItem * standardMenu成员,并将弹出按钮的“菜单”插件连接到此,但这会在层次结构中留下“假”菜单。

当然,从IB内部有一个干净的方法吗?

提前感谢您提供的任何建议。

1 个答案:

答案 0 :(得分:1)

你应该能够在IB中建立一个独立的菜单,使你需要所有的连接等。然后创建一个连接到IB菜单的插座IBOutlet NSMenu *standardMenu;。然后对于需要菜单的每个弹出窗口,只需使用[popupButton setMenu:standardMenu];。如果由于某种原因它保留旧项目只是告诉它首先删除所有项目。