我正在尝试使用NSPopupButton进行颜色选择,在底部我想使用分隔符和“自定义...”选项。是否可以从数组中加载颜色,然后将分隔符和“ custom”项添加到底部?如果是这样,怎么办?

谢谢!

最佳答案

您应该真正使用NSColorWell而不是手工制作。苹果之所以拥有比其他平台(尤其是Linux)更好的GUI的原因之一,是因为开发人员使用标准组件来执行这种操作。诸如“因为我认为它使界面更简洁”之类的争论是GIMP成为如何不设计GUI的典范例子的原因。

也就是说,基本上您想要做的是定义一个动态菜单,而不是一个固定大小的列表(就像在InterfaceBuilder中所做的那样)。您可以通过NSMenu和NSMenuItem类来执行此操作。

MenuList documentation guide

您需要做的是在应用程序使用默认数组启动时填充它,而不是按需显示菜单。然后,当数组更改(通过模型对象)时,触发菜单的重新创建。或者,使用menuNeedsUpdate:消息来捕获菜单。

关于objective-c - cocoa 绑定(bind):在NSPopupButton中将固定项与ArrayController绑定(bind)项组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1248044/

10-14 23:12
查看更多