SwiftUI 如何使用 foregroundStyle 提供视觉结构?

Updated for Xcode 13.0 New in iOS 15

SwiftUI 提供了一个 foregroundStyle() 修饰符来同时控制文本、图像和形状的样式。 在最简单的形式中,这类似于将 foregroundColor().secondary 一起使用,但它不仅解锁了更多语义颜色 - .tertiary.quaternary,它还增加了对任何符合 ShapeStyle 的支持。

因此,这是一个使用四元样式渲染的图像和一些文本的示例,这是内容四个重要性级别中最低的:

HStack {
    Image(systemName: "clock.fill")
    Text("Set the time")
}
.font(.largeTitle.bold())
.foregroundStyle(.quaternary)

就像我说的,任何符合 ShapeStyle 的东西也可以使用,这意味着我们可以使用相同的修饰符用红色到黑色的线性渐变渲染我们的 HStack

HStack {
    Image(systemName: "clock.fill")
    Text("Set the time")
}
.font(.largeTitle.bold())
.foregroundStyle(
    .linearGradient(
        colors: [.red, .black],
        startPoint: .top,
        endPoint: .bottom
    )
)