在 iOS 上,我可以创建一个
UIFont
,它会自动适应用户在“设置”应用程序中选择的字体大小:
label.font = UIFont.preferredFont(forTextStyle: .body)
label.adjustsFontForContentSizeCategory = true
(从此处复制粘贴。)我找不到适用于 macOS 的类似 API。在辅助功能设置中,我可以更改字体大小,一些应用程序会对此做出反应,例如系统设置和 Finder 会自动增加标签。有没有办法创建自动适应所选字体大小的
NSFont
或 NSTextField
?
如果你想自动扩展,答案是否定的(至少目前是这样)。
但是您可以手动执行此操作,通过观察
FontSizeCategory
中的 UserDefaults
以及套件名称 com.apple.universalaccess
。
然后您需要为文本字段设置新字体,并根据您在
FontSizeCategory
中读取的值进行缩放。
请参阅这篇文章以获得更详细的答案。