SwiftUI 中文本的自定义字体大小

Custom font size for Text in SwiftUI

我的观点中有一个标签,我想使用中号的系统字体,字号为21号。
我创建了一个自定义扩展以重新使用创建的字体:

extension Font {
    static var primaryButton: Font {
        return Font.custom("SFUIDisplay-Light", size: 21)
    }
}

但是,这没有任何效果。我将字符串更改为 HelveticaNeue-UltraLight 并且它确实有效,所以我猜测 SFUIDisplay-Light 只是不正确的字体名称。
在字体书中,它说 SFProText-Light,但这对我也不起作用。

SwiftUI 中 San Francisco 字体的正确字体名称是什么?
或者:如何使用系统字体设置字体大小?

您可以通过以下方式为系统字体设置明确的大小:

.font(.system(size: 60))

您可以像这样设置自定义字体大小,

.font(.custom("FONT_NAME", size: 20))
// Using system font "San Francisco"
let fontSystem = Font.system(size: 13.0)

// Using installed custom font
let fontCustom = Font.custom("YOUR FONT NAME", size: 13.0)

可以将font*常量放在需要设置字体样式的地方。

阅读 https://developer.apple.com/documentation/swiftui/font

中 "Getting System Fonts" 部分的更多内容
Text("Default font design").font(Font.system(size:30, design: .default))
Text("Monospaced font design").font(Font.system(size:30, design: .monospaced))
Text("Rounded font design").font(Font.system(size:30, design: .rounded))
Text("Serif font design").font(Font.system(size:30, design: .serif))

Text("Large Title").font(.largeTitle)
Text("Title").font(.title)
Text("Headline").font(.headline)
Text("SubHeadline").font(.subheadline)
Text("Body").font(.body)
Text("Callout").font(.callout)
Text("Caption").font(.caption)
Text("FootNote").font(.footnote)

Text("Custom font").font(Font.custom("OpenSans-Bold", size: 12.3))

更多详情请关注: https://github.com/arjun011/SwiftUI-Controls

如果您想为您的文本设置自定义字体,比如 Helvetica Neue,那么在这种情况下,您可以这样做

Text("Hello World")
.font(.custom("Helvetica Neue", size: 20))

如果你只想使用系统字体,那么在这种情况下你可以这样做

Text("Hello World")
.font(.system(size: 20, weight: .light, design: .default))