在 SwiftUI 中,font 修饰符用于设置视图的字体样式,包括字体大小、字重、字体家族等。通过简单的链式调用,您可以快速定义视图的文本样式。
基本字体类型
SwiftUI 提供了一些内置的字体类型,涵盖了常用的设计需求:
示例代码
Text("Hello, SwiftUI!")
.font(.largeTitle) // 设置为大标题字体
内置字体选项
1、.largeTitle:用于大标题。
2、.title:用于常规标题。
3、.title2 和 .title3:更小级别的标题。
4、.headline:用于重要但非标题的文本。
5、.body:默认的正文文本。
6、.subheadline:次级信息的文本。
7、.callout:细节或注释文本。
8、.footnote:比正文更小的文本。
9、.caption 和 .caption2:小字号文本,如注释。
参考照片
自定义字体大小
如果需要设置自定义字体大小,可以使用 .system(size:):
示例代码
Text("Custom Font Size")
.font(.system(size: 24)) // 设置为 24 点字体
设置字体权重
字体权重定义文本的粗细,可通过 .weight() 或 Font.system() 设置。
示例代码
Text("Bold Text")
.font(.system(size: 18, weight: .bold)) // 设置为加粗字体
常见权重值
1、.ultraLight:超轻。
2、.thin:轻。
3、.light:偏轻。
4、.regular:常规。
5、.medium:中等。
6、.semibold:半粗。
7、.bold:加粗。
8、.heavy:偏重。
9、.black:超粗。
参考照片
自定义字体
如果应用需要特定的字体(例如 Helvetica 或自定义导入的字体),可以使用 .custom() 方法。
示例代码
Text("Copperplate")
.font(.custom("Copperplate", size: 18))
注意:
字体名称需与系统中字体名称一致。
自定义字体需先在项目中导入字体文件,并在 Info.plist 中配置。
动态字体支持
SwiftUI 支持动态字体(Dynamic Type),允许文本根据系统设置的字体大小自动调整。
示例代码
Text("Dynamic Text")
.font(.body) // 系统字体
.dynamicTypeSize(.accessibility1) // 动态调整
常见动态字体选项
.xSmall 至 .xLarge:不同级别的动态大小。
.accessibility1 至 .accessibility5:辅助功能的更大字体。
总结
1、常用场景:标题和正文使用 .title、.body 等内置样式;个性化需求使用 .custom。
2、动态字体:推荐通过系统字体和动态类型,支持用户无障碍体验。
3、字体组合:通过链式调用,快速实现丰富的文本样式。
相关文章
SwiftUI视图修饰符dynamicTypeSize:https://fangjunyu.com/2024/12/24/swiftui%e8%a7%86%e5%9b%be%e4%bf%ae%e9%a5%b0%e7%ac%a6dynamictypesize/