如何将NSColorPicker添加到应用程序的主窗口?

时间:2012-04-25 14:59:28

标签: macos cocoa

我正在构建一个应用程序,根据用户选择的颜色生成颜色数组。

Mac OS X上用于颜色选择的默认设置是打开包含多个NSColorPickers的NSColorPanel。但是,由于颜色选择过程是用户与应用程序的主要交互,因此最好避免额外的点击和面板弹出,以支持更直接的方式。

那么,有没有办法将NSColorPicker对象添加到窗口?

2 个答案:

答案 0 :(得分:2)

我知道这是一个较旧的问题,但请查看NSColorWellFrom the docs

NSColorWell is an NSControl for selecting and displaying a single color value.

答案 1 :(得分:1)

有趣的问题。

我强烈怀疑它(但希望被证明是错误的)。 NSColorPickers不是NSControls(也不是NSCells)所以没有干净的包装器插入窗口。

即使您要实现NSColorPanel并获取对其contentView的引用并将其(将所有定义颜色拾取控件)复制到您自己的窗口......没有明显的方法来获取颜色值。 NSColorPickers是插件,所以你不能预见colorPicker的控件。

我能看到的另一种方式(那是一个延伸)是直接手动加载NSColorPickers plug-ins。我不知道这会有多成功。

提交错误报告并请求该功能?