如何制作带有图像和文本菜单的NSPopupButton?

时间:2010-01-23 07:02:32

标签: cocoa binding nspopupbuttoncell nspopupbutton

我有一个应用程序列表,我想制作一个NSPopupButton,显示一个应用程序名称菜单,每个项目左侧都有一个图标。

我已经能够将NSPopupButton绑定到我的项目数组,但是没有图像的绑定条目。我以为我可以把一个细胞放在那里并将细胞作为图像和文本结合,但我在IB中找不到合适的细胞。

使用绑定是否有一种简洁明了的方法?我是否必须编写自定义单元格?

2 个答案:

答案 0 :(得分:6)

使用库存NSPopUpButton无法绑定图像以及菜单项的标题。您必须将其子类化并编写IBPlugin以公开子类。当然,你也应该处理细胞。

我发现将Bindings与NSPopUpButton混合成一个受伤的包包有多种原因,包括分隔符和“默认”或“全部”等模型外菜单项的不可能性。请考虑使用其他控件,例如源列表,或手动填充和重新填充弹出菜单。

答案 1 :(得分:0)

NSMenuItem具有图像绑定(在“参数”部分中waaaaaayyyyy down)。所以我认为你应该将该值绑定到正在运行的应用程序数组中的路径。您可以使用共享的NSWorkspace对象获取应用的图标。