我有NSFont
其大小,家庭,我想要修改的特征。
我发现我可以使用NSFontManager
这样做(使用例如convertFont:toFamily
或convertFont:toSize
),但我怀疑有可能同时改变所有(我想象)像convertFont:toFamily:toSize:toHaveTrait
)之类的东西。但是,我还没有发现任何这样的事情,这就是我目前正在进行逐步转换的原因。
我考虑的另一件事是使用NSFontDescriptor
。但是,如果我已经开始使用NSFont,那么使用它似乎有点麻烦(NSFont -> NSFontDescriptor -> modified NSFontDescriptor -> modified NSFont
看起来比NSFont -> converted NSFont
更详细。
那么,有没有一种转换NSFont
的意识形态方式?如果是这样,它是什么?
答案 0 :(得分:1)
字体描述符是解决此问题的常用方法。从26:00开始,请参阅WWDC 2013的Using Fonts with Text Kit(本次演讲主要关注UIKit,但许多原则也适用于AppKit)。 NSFontManager
旨在与交互式字体选择器UI(特别是字体面板)配合使用。如果您正在与用户选择的字体进行交互(以UI方式),您绝对应该使用NSFontManager
,但在大多数情况下,您会在用户选择和取消选择各种选项时逐步修改内容。如果您独立于用户操作字体,则可能需要使用字体描述符,尤其是不要无意中修改字体面板。