我有一个NSFont,它的大小,家庭,特征,我想要修改。
我发现我可以使用NSFontManager来做到这一点(例如使用convertFont:toFamily或convertFont:toSize),但我怀疑会有一些可能同时进行更改(我设想了类似于convertFont:toFamily:toSize:toHaveTrait的东西)。但是,我没有找到这样的东西,这就是为什么我现在正在做一个逐步的转变。
我考虑过的另一件事是使用NSFontDescriptor。但是,如果我已经开始使用NSFont (在我看来,NSFont -> NSFontDescriptor -> modified NSFontDescriptor -> modified NSFont比NSFont -> converted NSFont更详细),使用它似乎有点麻烦。
那么,是否有一种理想的转换NSFonts的方法?如果是的话,那是什么呢?
发布于 2016-10-06 16:54:53
字体描述符是处理此问题的常用方法。请参阅2013年WWDC的将字体与文本工具包结合使用,从26:00开始(本讲座重点讨论UIKit,但许多原则也适用于AppKit )。NSFontManager设计用于使用交互式字体选择器UI (特别是字体面板)。如果您正在与用户选择的字体进行交互(以用户界面的一种方式),那么您肯定应该使用NSFontManager,但在大多数情况下,当用户选择和取消各种选项时,您是在零敲碎打地修改内容。如果您独立于用户操作字体,您可能希望使用字体描述符,特别是这样您就不会无意中修改字体面板。
https://stackoverflow.com/questions/39899029
复制相似问题