SwiftUI (XCODE:11.2.1)中没有用于文本字段的内置字体粗细修饰符。如何在不将UITextField扩展为UIViewRepresentable的情况下引入字体粗细?
答案 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()
}
}
答案 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)
Foundation 在 Swift 5.5 中支持 Markdown
在文本/字符周围添加双星号 (**) 以使其加粗。
Text("**This text is bold**")
要强调文本,请使用下划线
Text("_This text is italic_")