SwiftUI 标题字体

Posted

技术标签:

【中文标题】SwiftUI 标题字体【英文标题】:SwiftUI header font 【发布时间】:2021-07-08 20:50:23 【问题描述】:

我正在尝试找到一种获得List 标题的系统字体的好方法。这就是我的意思:

struct ContentView: View 
    var body: some View 
        List 
            Section(header: Text("Test")) 
                Text("Blablabla")
            
        
    

基本上,有没有办法以编程方式获取图像中显示“测试”的文本的字体,以便我可以在 Text 对象的其他地方使用它?

我是尝试使用DisclosureGroup 制作可折叠标题的字体,但是DisclosureGroup 的字体与Section 的字体不同。

【问题讨论】:

“获取字体”是指弄清楚是哪种字体,以便您可以在其他地方使用它吗? @gavinmccabe 是的 通常你可以使用 Debug View Hierarchy 进行检查,但它不适用于 SwiftUI... 【参考方案1】:

一次性使用:

Section(header: Text("Test").font(.title)) 
    Text("Blablabla")

多次使用:

首先,创建一个结构体:

struct CustomFont: View 
    var body: some View 
        Text("Test")
           .font(.title)
    
 

其次,调用struct的实例来使用它。

Section(header: CustomFont()) 
    Text("Blablabla")

【讨论】:

【参考方案2】:

另一种方法是提供你想要的字体,然后在你想用的任何地方使用它,很有趣:

Text("Test").font(.largeTitle)

Text("Test").font(.system(size:34))

Text("Test").font(.system(size: 20, weight: .bold, design: .serif)))

Text("Test").font(Font.custom("Wingdings", size: 30.0))

Text("Test").font(Font.custom("Montserrat-Bold", size: 30.0))

【讨论】:

【参考方案3】:

节标题的默认字体是.font(.headline)。并且文字是大写的。

Text("Test".uppercased()).font(.headline)

https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/typography/

【讨论】:

以上是关于SwiftUI 标题字体的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 标题字体

在 SwiftUI 中更改默认系统字体

如何查看 SwiftUI 可以作为自定义字体提供的其他字体选项?

SwiftUI 紧凑字体

如何在 swiftui 中添加自定义字体?

SwiftUI:根据字符串长度动态更改字体大小