0

我有一个NSFont我想修改的大小、家庭、特征。

我发现我可以NSFontManager这样做(使用 egconvertFont:toFamilyconvertFont:toSize),但我怀疑有可能一次性改变所有内容(我想象过类似的东西convertFont:toFamily:toSize:toHaveTrait)。但是,我还没有发现任何这样的东西,这就是为什么我目前正在逐步转型。

我考虑过的另一件事是使用NSFontDescriptor. 但是,如果我已经从 NSFont 开始使用它似乎有点麻烦(NSFont -> NSFontDescriptor -> modified NSFontDescriptor -> modified NSFont对我来说看起来比 更冗长NSFont -> converted NSFont)。

那么,有没有一种转换NSFonts 的理想方式?如果是这样,那是什么?

4

1 回答 1

1

字体描述符是解决此问题的常用方法。请参阅从 WWDC 2013 大约 26:00 开始的Using Fonts with Text Kit(本次演讲的重点是 UIKit,但许多原则也适用于 AppKit)。NSFontManager旨在与交互式字体选择器 UI(尤其是字体面板)一起使用。如果您正在与用户选择的字体进行交互(以一种 UI 的方式),您绝对应该使用NSFontManager,但在大多数情况下,您会在用户选择和取消选择各种选项时零碎地修改内容。如果您独立于用户操作字体,您可能想要使用字体描述符,特别是这样您就不会无意中修改字体面板。

于 2016-10-06T16:54:53.693 回答