如何为iOS 13的SF符号设置权重?

时间:2019-06-09 22:08:14

标签: ios swift swiftui sf-symbols

我有这个

Image(systemName: "arrow.right")

但是我如何使其变为粗体,半粗体等?

我正在使用新的SwiftUI。

6 个答案:

答案 0 :(得分:12)

对于UIKit,可以按以下方式配置符号:

UIImage(systemName: "arrow.right",
        withConfiguration: UIImage.SymbolConfiguration(pointSize: 16, weight: .bold))

答案 1 :(得分:11)

SwiftUI 1.0

我只想提及如何更改粗细以及自定义字体大小。

HStack(spacing: 40) {
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .ultraLight))
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .light))
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .regular))
    Image(systemName: "moon.zzz")
        .font(Font.system(size: 60, weight: .bold))
}

Example of Font Size and weight

答案 2 :(得分:8)

使用font修饰符时,为要传递的字体设置粗细

Image(systemName: "arrow.right")
  .font(Font.title.weight(.ultraLight))

答案 3 :(得分:6)

UIKit SWIFT 5.x

要设置其属性,请执行以下操作:创建配置,然后将其作为参数传递:

let imageConfig = UIImage.SymbolConfiguration(pointSize: 22, weight: .black, scale: .large)
let image = UIImage(systemName: "delete.right", withConfiguration: imageConfig)

答案 4 :(得分:2)

UIKit-Swift 5-Xcode 11

如果您要设置权重(这样就不会弄乱自动图标大小设置),请执行以下操作:

@FeignClient

答案 5 :(得分:0)

您还可以将ImageText进行包装。这样,您就可以使用fontWeight()并将其分配给Text

Text(Image(systemName: "xmark"))
    .fontWeight(.semibold)