82

我有这个

Image(systemName: "arrow.right")

但是我如何使它粗体,半粗体等?

我正在使用新的 SwiftUI。

4

6 回答 6

130

使用font修饰符时,为您传递的字体设置权重。

例如,如果您想使用一种默认文本样式(我推荐,因为它们适应用户的动态类型设置),您可以这样做:

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

如果要指定字体大小,可以这样做:

Image(systemName: "arrow.right")
  .font(Font.system(size: 60, weight: .ultraLight))
于 2019-06-09T22:19:49.223 回答
62

对于 UIKit,符号可以配置如下:

UIImage(systemName: "arrow.right",
        withConfiguration: UIImage.SymbolConfiguration(pointSize: 16, weight: .bold))
于 2019-09-02T17:51:59.660 回答
27

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))
}

字体大小和粗细示例

于 2019-09-05T16:27:04.860 回答
13

UIKit -- 斯威夫特 5 -- Xcode 11

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

let configuration = UIImage.SymbolConfiguration(weight: .semibold)
UIImage(systemName: "trash", withConfiguration: configuration)
于 2020-07-10T21:38:28.643 回答
10

你也可以ImageText. 有了它,您可以使用并将其分配fontWeight()Text

Text(Image(systemName: "xmark"))
    .fontWeight(.semibold)
于 2020-11-07T11:53:45.093 回答
9

UIKit SWIFT 5.x

要设置它们的属性:创建一个配置,然后将其作为参数传递:

let imageConfig = UIImage.SymbolConfiguration(pointSize: 22, weight: .black, scale: .large)
let image = UIImage(systemName: "delete.right", withConfiguration: imageConfig)
于 2020-01-28T20:15:39.210 回答