问题标签 [nsfontpanel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
4555 浏览

objective-c - 在 Cocoa 中使用 NSFontPanel

我正在尝试使用 NSFontPanel 来允许用户更改应用程序范围的字体设置。它应该像这样工作:用户单击一个按钮,弹出一个字体面板,他们选择一种字体和大小,并且他们的选择是持久的。

以下代码显示面板:

文档似乎建议在字体更改时调用 changeFont:(id)sender 方法;这在我的情况下没有发生。

关于我可能做错了什么的任何想法?

0 投票
1 回答
2171 浏览

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

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

我想要的行为如下:

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

  • 当我单击“更改字体...”按钮时,我会显示我NSFontPanel的字体,并且当我选择一种字体时,它也应该在我的“预览”区域中更改。假设我点击了颜色按钮NSFontPanel,我想改变我的字体颜色

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

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

有人可以给我一个具体方法来编码这种行为的例子吗?似乎有很多不同的方法可以使NSFontPanelNSColorPanel显示(NSFontPanelNSFontManager?),以及处理来自面板本身的事件的许多方法(通知?代表(在NSFontManagerNSFontPanel)?将控制器插入响应者链?)。我还没有找到任何关于一次处理多个颜色源的理想方法的指导方针,我有点迷茫。

提前致谢!

0 投票
2 回答
714 浏览

cocoa - 自定义 Cocoas NSFontPanel

Cocoas NSFontPanel 有哪些自定义选项?

在 iWork Pages 中可访问的 NSFontPanel 在顶部具有“文本下划线”、“文本删除线”和“文档颜色”控件。我们不希望这些在我们的 NSFontPanel 中。有什么方法可以删除或禁用这些控件?

0 投票
1 回答
292 浏览

objective-c - 如何设置 NSFontPanel 的属性?

如何设置字体属性NSFontPanel,如颜色、粗体等?

0 投票
1 回答
968 浏览

objective-c - 如何从字体面板(NSFontPanel)和颜色中仅检索字体样式(粗体,斜体,粗斜体)?

我正在从 中检索一个值NSFontPanel,该值会更改字体系列和文本样式。但我只想要我从中选择的字体样式和颜色NSFontPanel

我不知道如何得到它。

  1. 在字符串变量中,我得到字体系列(例如 Arial)和字体样式(例如粗体)。但我想要这些值分开。

  2. 在颜色变量中,我只得到黑色。

我无法理解我在获取颜色方面错在哪里,以及我用于获取字体样式的功能..

0 投票
1 回答
2551 浏览

cocoa - 在 NSFontPanel 中选择一种字体

我想使用最初选择的字体(在以下示例中为 Helevtica)打开 NSFontPanel。我的意思是当字体面板出现时,集合和系列值被选中。这是我的代码:

为什么 Helvetica 字体没有显示在字体面板中被选中?

我也在使用 NSFontPanelValidation 协议,这里是代码:

0 投票
1 回答
1508 浏览

cocoa - 为什么没有从我的 NSFontPanel 调用 changeFont:?

我正在创建NSFontPanel但选择字体不会调用该changeFont:方法。

我在NSWindowController子类中定义了这些方法:

字体面板出现时选择了正确的字体和大小,并且仅在 中启用了模式validModesForFontPanel:,但是当我选择不同的字体时,changeFont:不会调用该方法。我的理解是changeFont:动作消息被发送到响应者链上。作为测试,我changeFont:在我的应用程序委托中放置了一个相同的方法(它应该在响应者链中),但它也没有被调用。我在某处错过了一步吗?

0 投票
1 回答
496 浏览

xcode - 如何设置 NSFontPanel 的默认值?

我正在为我的酷应用程序设置首选项窗口,该窗口显示一些文本。在首选项中,我设置了一个打开NSFontPanel. 我的应用程序存储用户首选的文本颜色和字体,并始终使用这些设置打开,这样用户就不必看到以他们不喜欢的颜色或字体显示的文本。

问题是,虽然我的应用程序能够记住这些偏好,但NSFontPanel它有问题。当我第一次打开字体面板时,所有字段的默认值都会被重置。在摆弄它们,关闭面板,然后重新打开它之后,正确的值将被保留。仅当我第一次打开面板时才会出现此问题。

我不明白为什么会这样!

当我的应用程序启动时,我一直小心翼翼地设置面板的字体和颜色,您可以从这段代码片段中看到:

0 投票
4 回答
5695 浏览

nsstring - 来自 NSFont 的名称和大小

我试图在互联网上找到一些东西,但现在我没有答案,所以如果你能帮助我,那就太好了!到目前为止,我有一个 NSFont 对象,但我想要字体的名称(作为 NSString)和大小,所以我可以输出它!就像是

只有倒退,所以我得到了“Menlo”这个名字,尺寸为 11。

感谢帮助!来自德国的 Xcoder

0 投票
1 回答
534 浏览

objective-c - validModesForFontPanel 从未调用过

我有一个使用NSFontPanel. 我像这样打开字体面板:

然后我有一种-(void)changeFont:(id)sender方法可以对面板中的字体更改做出反应。这一切都很好。

现在,我想禁用一些字体选项,所以我实现了协议的validModesForFontPanel方法:NSFontPanelValidation

但是,该方法永远不会被调用。在文档中它说:“此消息通过响应者链向上发送到实现该方法的第一个响应者。理想情况下,该对象应该是找到的第一个响应者,它也实现了 changeFont:。

我确实changeFont在这个响应者中实现,所以除非有其他我不知道的响应者,否则我不知道这条消息会发生什么。

有没有人有什么建议?