iOS Swift 如何使用客户字体检测动态字体大小

问题描述

我已经通过这篇文章完成了我的应用程序中动态类型客户字体的设置:

https://www.hackingwithswift.com/quick-start/swiftui/how-to-use-dynamic-type-with-a-custom-font

但是我从设计师那里得到了新的要求:

enter image description here

如您所见,Apple HIG 中有 xSmall/Small/Medium/Large/xLarge/xxLarge/xxxLarge 7 种字体大小。

设计师给出以下规则:

xSmall -> 与应用当前认大小相同

小 -> 与应用当前认大小相同

中 -> 与应用当前认大小相同

大 -> 认尺寸

xLarge -> 认大小 + 1pt

xxLarge -> 认大小 + 2pt

xxxLarge -> 认大小 + 3pt

我的问题是如何检测应用系统字体设置为 small 或 xLarge 以便我可以给出一些计算值?如何应对新要求?

解决方法

注意特征集合的变化并读取 preferredContentSizeCategory。如果已更改,请根据需要调整界面。