在我的应用程序中,我有一个首选项面板,其中我有一个设置背景色的NSColorWell,还有一个按钮,它打开一个NSFontPanel来选择字体。
我想要的行为如下:
当我单击
NSFontPanel和当我选择一个字体,它应该改变在我的“预览”区域也。假设我单击了NSFontPanel的颜色按钮,我想要更改我的NSFontPanel的颜色本质上,我试图使这两种颜色面板独立工作(尽管据我所见,每个应用程序实际上只有一个共享面板)。
现在,假设我打开了字体和彩色面板。当我单击窗口上的颜色时,它会激活,如果我单击字体面板中的“颜色”按钮,颜色不会影响字体,而是会影响背景,因为颜色会保持活动状态,并且因为我在控制器类中注册了颜色更改通知。
有人能给我一个具体的方法来编码这种行为吗?似乎有许多不同的方法可以使NSFontPanel和NSColorPanel出现(NSFontPanel或NSFontManager?),以及许多处理来自面板本身的事件的方法(通知?代表(在NSFontManager或NSFontPanel上)?将控制器插入响应链?)。我还没有找到任何关于一次处理多个颜色源的理想方法的指导方针,我有点迷失了。
提前感谢!
发布于 2009-11-03 16:03:48
颜色选择器机制是专门设计的,以便您可以“激活”多个颜色井,然后设置他们的颜色同时。我相信字体面板的颜色按钮没有“放开”颜色选择器的原因是因为它显然不是一个“颜色好”。我没有直接注意到这种行为,但是它很容易被一个简单的、新鲜的、颜色良好的xib和一个标准的文本视图复制。
本质上,您可以同时单击“好”和“字体”颜色,并且“好”和“选定”文本都将更改为选定的颜色。你甚至可以关闭井,只有文字会改变。但是,在关闭字体面板之前,不能让颜色选择器的字体面板“放手”。
我把这叫做窃听器:http://bugreport.apple.com
https://stackoverflow.com/questions/1625279
复制相似问题