【发布时间】:2019-10-24 09:39:16
【问题描述】:
我有这个
Image(systemName: "arrow.right")
但是我如何使它成为粗体、半粗体等呢?
我正在使用新的 SwiftUI。
【问题讨论】:
标签: ios swift swiftui sf-symbols
我有这个
Image(systemName: "arrow.right")
但是我如何使它成为粗体、半粗体等呢?
我正在使用新的 SwiftUI。
【问题讨论】:
标签: ios swift swiftui sf-symbols
使用 font 修饰符时,为您传递的字体设置粗细。
例如,如果您想使用一种默认文本样式(我推荐,因为它们会适应用户的动态类型设置),您可以这样做:
Image(systemName: "arrow.right")
.font(Font.title.weight(.ultraLight))
如果要指定字体大小,可以这样:
Image(systemName: "arrow.right")
.font(Font.system(size: 60, weight: .ultraLight))
【讨论】:
Font.body.weight(.ultraLight)(例如在 navigationBarItems 中)(all font weights)
对于 UIKit,符号可以配置如下:
UIImage(systemName: "arrow.right",
withConfiguration: UIImage.SymbolConfiguration(pointSize: 16, weight: .bold))
【讨论】:
我只想提一下如何更改粗细以及自定义字体大小。
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))
}
【讨论】:
.system 字体而不是 .title ← 这可能会干扰其他样式。
UIKit SWIFT 5.x
要设置它们的属性:创建一个配置,然后将其作为参数传递:
let imageConfig = UIImage.SymbolConfiguration(pointSize: 22, weight: .black, scale: .large)
let image = UIImage(systemName: "delete.right", withConfiguration: imageConfig)
【讨论】:
如果您仅想要设置权重(这样您就不会弄乱自动图标大小),请执行以下操作:
let configuration = UIImage.SymbolConfiguration(weight: .semibold)
UIImage(systemName: "trash", withConfiguration: configuration)
【讨论】:
您也可以用Text 包裹Image。有了它,您可以使用并将fontWeight() 分配给Text:
Text(Image(systemName: "xmark"))
.fontWeight(.semibold)
【讨论】: