【问题标题】:How to best share an NSMenu between multiple NSPopUpButton instances如何在多个 NSPopUpButton 实例之间最好地共享一个 NSMenu
【发布时间】:2010-05-20 04:44:28
【问题描述】:

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

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

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

当然,在 IB 内部有一种干净的方法可以做到这一点?

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

【问题讨论】:

    标签: cocoa


    【解决方案1】:

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

    【讨论】:

    • 谢谢。这就是为什么在尝试连接弹出按钮的菜单出口时,IB 给了我很多问题之后我最终这样做的原因(它可以完成,但只能反向使用“引用出口”)。我仍然希望有一种更好的方法,而不是保持所有弹出按钮的链接并以编程方式设置它们.. AppKit 和 IB 中那些粗糙的边缘之一..
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多