我的应用程序中有一个首选项面板,其中有一个NSColorWell
用于设置背景颜色的按钮和一个NSFontPanel
用于选择字体的按钮。
我想要的行为如下:
当我单击
NSColorWell
然后拖动面板中的某些颜色时,我希望它在拖动时更改我的“预览”区域中的背景颜色。当我单击“更改字体...”按钮时,我会显示我
NSFontPanel
的字体,并且当我选择一种字体时,它也应该在我的“预览”区域中更改。假设我点击了颜色按钮NSFontPanel
,我想改变我的字体颜色。
本质上,我正在尝试使两个颜色面板(尽管据我所见,每个应用程序实际上只有一个共享面板)独立工作。
现在,假设我打开了字体和颜色面板。当我单击窗口上的颜色井时,它会激活,然后如果我单击字体面板中的颜色按钮,颜色不会影响字体而是影响背景,因为颜色井保持激活状态并且因为我注册了颜色更改我的控制器类中的通知。
有人可以给我一个具体方法来编码这种行为的例子吗?似乎有很多不同的方法可以使NSFontPanel
和NSColorPanel
显示(NSFontPanel
或NSFontManager
?),以及处理来自面板本身的事件的许多方法(通知?代表(在NSFontManager
或NSFontPanel
)?将控制器插入响应者链?)。我还没有找到任何关于一次处理多个颜色源的理想方法的指导方针,我有点迷茫。
提前致谢!