SwiftUI 如何使用SF符号渲染图像?

SwiftUIImage 视图使我们可以从 SF Symbols 中加载任何 2400+ 图标,其中许多图标也可以使用多色。

要从 Apple 的 SF Symbols 集中加载图标,请使用 Image(systemName:)初始化程序,并传入要加载的图标字符串,如下所示:

Image(systemName: "cloud.heavyrain.fill")

您获得的图像是可缩放的且可着色的,这意味着您可以要求 SwiftUI 放大图像以匹配其随附的任何“动态类型”文本样式(如果有):

Image(systemName: "cloud.heavyrain.fill")
    .font(.largeTitle)

而且这还意味着您可以使用与您已经看到的相同的 frontantColor() 修饰符为图像着色:

Image(systemName: "cloud.heavyrain.fill")
    .font(.largeTitle)
    .foregroundColor(.red)

如果您使用的图像包含色彩元素,则可以使用 .renderingMode().original) 激活多色模式,如下所示:

Image(systemName: "cloud.sun.rain.fill")
    .renderingMode(.original)
    .font(.largeTitle)
    .padding()
    .background(Color.black)
    .clipShape(Circle())

您可以选择将 foregroundColor() 修改器应用于多色 SF符号,这将使部分符号重新着色。 例如,这将使图标的一部分变为蓝色,而部分变为绿色:

Image(systemName: "person.crop.circle.fill.badge.plus")
    .renderingMode(.original)
    .foregroundColor(.blue)
    .font(.largeTitle)

通过 Apple 提供的应用 SF Symbols 2 查看 SF Symbols 所有的图标名称。