Кернинг / отслеживание 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
Другие вопросы по тегам