Swiftui 动态文本字体快捷界面
我试图将文本字段的第一段改为粗体和更大 我能够获取文本字段的第一段并将其命名为title 但是使用.scaledFont会使我的所有文本字段变大,而不仅仅是标题。我正在努力克服这个问题Swiftui 动态文本字体快捷界面,swiftui,textfield,Swiftui,Textfield,我试图将文本字段的第一段改为粗体和更大 我能够获取文本字段的第一段并将其命名为title 但是使用.scaledFont会使我的所有文本字段变大,而不仅仅是标题。我正在努力克服这个问题 VStack{ TextEditor(text: $text) .scaledFont(name: title, size: 40) .onTapGesture { isEditing
VStack{
TextEditor(text: $text)
.scaledFont(name: title, size: 40)
.onTapGesture {
isEditing = true
}
.onChange(of: text, perform: { value in
if let firstParagraph = value.components(separatedBy: CharacterSet.newlines).first {
title = firstParagraph
print("TITLE--\(title))
}
})
}
缩放字体
struct ScaledFont: ViewModifier {
@Environment(\.sizeCategory) var sizeCategory
var name: String
var size: CGFloat
func body(content: Content) -> some View {
let scaledSize = UIFontMetrics.default.scaledValue(for: size)
return content.font(.custom(name, size: scaledSize))
}
}
@available(iOS 13, macCatalyst 13, tvOS 13, watchOS 6, *)
extension View {
func scaledFont(name: String, size: CGFloat) -> some View {
return self.modifier(ScaledFont(name: name, size: size))
}
}