gpt4 book ai didi

objective-c - 修改 NSFont 的惯用方法

转载 作者:行者123 更新时间:2023-12-03 17:48:26 25 4
gpt4 key购买 nike

我有一个 NSFont,我想修改它的大小、系列和特征。

我发现我可以使用 NSFontManager 来执行此操作(例如使用 convertFont:toFamilyconvertFont:toSize),但我怀疑有可能一次性改变所有内容(我想象了像convertFont:toFamily:toSize:toHaveTrait之类的东西)。不过我还没有发现这样的事情,所以我目前正在做逐步改造。

我考虑的另一件事是使用NSFontDescriptor。然而,如果我已经从 NSFont 开始,使用这个似乎有点麻烦(NSFont -> NSFontDescriptor -> modded NSFontDescriptor -> modified NSFont 对我来说看起来比 NSFont -> returned NSFont)。

那么,有没有一种理想的方式来转换 NSFont 呢?如果是的话,那是什么?

最佳答案

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

关于objective-c - 修改 NSFont 的惯用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39899029/

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