Передать состояние / привязку к UIViewRepresentable - PullRequest
0 голосов
/ 26 апреля 2020

Как правильно передать переменную состояния в мое настраиваемое текстовое поле? Я надеялся избежать других подходов / наблюдаемых. Разве это не должно работать?

Я воссоздал проблему ниже в примере проекта.

import SwiftUI

struct ParentView: View {
    @State var text: String = "initial"
    var body: some View {
        VStack {
            ChildView(text: $text)
            Text(self.text)
        }
    }
}
struct ChildView: View {
    @Binding var text: String
    var body: some View {
        MyTextField(text: $text).frame(width: 300, height: 40, alignment: .center)
    }
}

struct MyTextField: UIViewRepresentable {
    @Binding var text: String
    func makeUIView(context: Context) -> UITextField {
        let view = UITextField()
        view.borderStyle = UITextField.BorderStyle.roundedRect
        return view
    }
    func updateUIView(_ uiView: UITextField, context: Context) {
        uiView.text = text
    }
}
...