使用特定动态类型大小的字体

Posted

技术标签:

【中文标题】使用特定动态类型大小的字体【英文标题】:Using fonts for specific Dynamic Type sizes 【发布时间】:2017-04-18 20:21:18 【问题描述】:

使用 appearance 代理为 Bold/Semibold/Regular 替换应用程序范围的字体很容易,但有没有办法检查使用的动态文本大小(如果设置了)?

例如:

Label1:使用的样式 .body / 当前字体 SF

Label2:使用的样式 .title1 / 当前字体 SF

预期:

将“body”样式(应用范围)的字体替换为 Font1

将“title1”样式(应用范围)的字体替换为 Font2

可能的解决方案:

在设置新字体之前比较字体? (使用字体描述符)

【问题讨论】:

【参考方案1】:

Curt Clifton 的优秀文章:http://curtclifton.net/appearance-manager 使用基于协议的方法。另一种方法是使用外观代理。

【讨论】:

以上是关于使用特定动态类型大小的字体的主要内容,如果未能解决你的问题,请参考以下文章

如何在手表上测试不同的字体大小(动态类型)?

如何为 UILabel 设置“粗体”动态字体类型?

在属性标签上获取动态类型

UITableView 估计行高动态类型

WKWebview 中的动态类型与设置不匹配

忽略 iOS 中的动态类型:可访问性