gpt4 book ai didi

objective-c - 如何让NSColorPanel(使用NSColorWell)和NSFontPanel的颜色面板共存?

转载 作者:行者123 更新时间:2023-12-03 16:39:43 31 4
gpt4 key购买 nike

我的应用程序中有一个首选项面板,其中有一个用于设置某些背景颜色的 NSColorWell 和一个用于打开 NSFontPanel 用于选择字体的按钮。

我想要的行为如下:

  • 当我点击 NSColorWell 然后拖动面板中的某些颜色时,我希望它更改背景颜色当我拖动时在我的“预览”区域中。

  • 当我单击“更改字体...”按钮时,我会显示我的 NSFontPanel,当我选择字体时,它也会在我的“预览”区域中发生变化。假设我单击 NSFontPanel颜色按钮,我想更改字体颜色

本质上,我试图让两个颜色面板(尽管据我所知,每个应用程序实际上只有一个共享面板)独立工作。

现在,假设我打开了字体和颜色面板。当我单击窗口上的颜色井时,它会激活,然后如果我单击字体面板中的颜色按钮,颜色不会影响字体,而是影响背景,因为颜色井保持激活状态并且因为我注册了颜色更改我的 Controller 类中的通知。

有人能给我一个编码这种行为的具体方法的例子吗?似乎有很多不同的方法可以使 NSFontPanelNSColorPanel 显示(NSFontPanelNSFontManager? ),以及处理来自面板本身的事件的多种方法(通知?委托(delegate)(在 NSFontManagerNSFontPanel 上)?将 Controller 插入响应者链? )。我还没有找到任何有关同时处理多种颜色源的理想方法的指南,我有点迷失了。

提前致谢!

最佳答案

颜色选择器机制经过专门设计,以便您可以“激活”多个颜色孔,然后同时设置它们的颜色。我相信字体面板的颜色按钮不“放开”颜色选择器的原因是因为它显然实际上不是“颜色井”。我没有直接注意到这种行为,但可以使用带有颜色井和标准 TextView 的简单新鲜 xib 轻松重现。

本质上,您可以单击孔和字体颜色,孔和选定的文本都将更改为选取的颜色。您甚至可以关闭该井,只有文本会改变。但是,在关闭字体面板之前,您无法让字体面板“放开”颜色选择器。

我称这是一个错误:http://bugreport.apple.com

关于objective-c - 如何让NSColorPanel(使用NSColorWell)和NSFontPanel的颜色面板共存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1625279/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com