不同大小的系统字体如何支持动态类型?

3

我找到了两种生成“动态类型”敏感尺寸的方法。

  1. 系统字体
.font(.system(.title))
  1. 自定义字体
.font(.custom("AmericanTypewriter", size: 22, relativeTo: .title))

假设我想使用一个支持动态类型的系统字体。

当我像这样操作时:

.font(.system(size: 28, weight: .regular, design: .rounded))

所有的动态类型都丢失了。

我如何指定特定大小的系统字体,但让它随着动态类型进行缩放?


你可以很可能使用ScaledMetric来设置大小。 - lorem ipsum
赞扬你提出这个问题。有些人可能会因为Figmant或其他原因而盲目地将SwiftUI中免费提供的动态类型视为无用之物,而不假思索地将其丢弃。 - Anton Tropashko
1个回答

3

获取缩放后的尺寸:

let scaledSize = UIFontMetrics(forTextStyle: .body).scaledValue(for: 28)

然后使用此方法设置字体大小:
.font(.system(size: scaledSize, weight: .regular, design: .rounded))

您可以将.body在UIFontMetrics初始化程序中替换为任何其他UIFont.TextStyle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接