UpdateUIView () не обновляется при изменении состояния - 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 {
    @State 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) {
        print("updateView did fire")
        uiView.text = $text.wrappedValue
    }
}
...