NSPopUpButton + Bindings +显示所有选项

时间:2012-07-10 01:04:51

标签: objective-c cocoa cocoa-bindings nsarraycontroller nspopupbutton

我正在尝试开发一个NSPopUpButton,它将作为某个数据源的过滤器,假设填充表格的NSArrayController

我可以将菜单中的NSArrayController绑定到选择键路径,以便正确过滤数据,没问题。

棘手的部分是,我希望这个NSPopUpButton的内容依赖NSArrayController使用绑定,但我想添加一个“全部显示”菜单项,或至少一些项目除了使用绑定和核心数据过滤表之外,它不是来自Core Data并执行一些特殊操作。

我正在尝试执行类似于过滤器栏中finder使用的NSPopUpButton之类的内容,菜单的最后一项执行特殊操作,而其他项只是过滤结果。

我理解这种方法是忘记绑定并以编程方式完成所有操作,因为我相信没有办法搞砸NSArrayController和绑定来添加不依赖于核心的自定义菜单项数据,但由于我在Apple Docs上没有找到任何内容,而且我想分享我的想法......任何想法?

1 个答案:

答案 0 :(得分:12)

听起来像是在寻找NSContentPlacementTagBindingOption。

您编辑附加到NSPopupButton的NSMenu,如下所示

setup of the pop-up menu button's menu

然后编辑要用阵列控制器内容替换的NSMenuItem上的设置,以便它具有与之关联的有意义标记

settings for the item that is going to be dynamically replaced by bindings

然后,您将该标记指定为NSPopupButton对内容/内容*绑定的绑定的内容放置标记值。

bindings for the pop-up button itself