如何在TextField swiftUI中加粗文本?

时间:2019-12-03 04:47:45

标签: ios swift uikit swiftui

SwiftUI (XCODE:11.2.1)中没有用于文本字段的内置字体粗细修饰符。如何在不将UITextField扩展为UIViewRepresentable的情况下引入字体粗细?

6 个答案:

答案 0 :(得分:16)

使用与SwiftUI TextField一起使用的标准字体大小选项和粗细的通用方法。例如:

TextField("Name", text: $name)
  .font(Font.headline.weight(.light))

可用的标准尺寸选项(最小到最大):

.caption
.footnote
.subheadline
.callout
.body
.headline
.title
.largeTitle

可用的标准字体粗细(最轻至最重):

.ultralight
.thin
.light
.regular
.medium
.semibold
.bold
.heavy
.black

答案 1 :(得分:7)

TextField("Name", text: $name)
    .font(Font.body.bold())

答案 2 :(得分:1)

import SwiftUI

struct ContentView: View {
    @State var TextValue: String = "Hello"

    var body: some View {
        VStack {
            TextField("placeholder", text: $TextValue)
            .padding(.horizontal, 50)
                .font(.system(size: 30, weight: .heavy, design: .default))
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

enter image description here

答案 3 :(得分:1)

shawnynicole's answer 上扩展,您可以创建扩展:

extension View {
    func bold() -> some View {
        font(Font.body.bold())
    }
}

并将其应用于任何视图(包括 TextField):

TextField("Text", text: $text)
    .bold()

答案 4 :(得分:0)

针对iOS 13.0 +,macOS 10.15 +,tvOS 13.0 +,watchOS 6.0+的更新方法是:

.fontWeight(.bold)

答案 5 :(得分:0)

斯威夫特 5.5

Foundation 在 Swift 5.5 中支持 Markdown

在文本/字符周围添加双星号 (**) 以使其加粗。

Text("**This text is bold**")

要强调文本,请使用下划线

Text("_This text is italic_")