Кернинг / отслеживание SwiftUI TextField? [дубликат]
Я новичок в SwiftUI, пытаюсь добавить кернинг в TextField в SwiftUI и не могу понять, как это сделать. Кто-нибудь может помочь, даже не могу понять, что еще написать в этом посте.
1 ответ
Существует простое руководство по HackingwithSwift, в котором показано, как реализовать UITextView. Его легко адаптировать для UITextField.
Вот быстрый пример, показывающий, как использовать UIViewRepresentable для вас UITextField. Установка кернинга как для текста, так и для заполнителя.
struct ContentView: View {
@State var text = ""
var body: some View {
MyTextField(text: $text, placeholder: "Placeholder")
}
}
struct MyTextField: UIViewRepresentable {
@Binding var text: String
var placeholder: String
func makeUIView(context: Context) -> UITextField {
return UITextField()
}
func updateUIView(_ uiView: UITextField, context: Context) {
uiView.attributedPlaceholder = NSAttributedString(string: self.placeholder, attributes: [
NSAttributedString.Key.kern: 0.3
])
uiView.attributedText = NSAttributedString(string: self.text, attributes: [
NSAttributedString.Key.kern: 0.3
])
}
}
[1]: https://www.hackingwithswift.com/quick-start/swiftui/how-to-wrap-a-custom-uiview-for-swiftui