Итак, вот моя проблема, у меня есть полная форма, которую я написал в SwiftUI. В iOS 13.1 форма работала правильно. Теперь с iOS 13.2 текстовые поля в форме исчезают при прокрутке. Мне нужна форма для работы в проекте, который уже имеет много представлений UIKit, и поэтому я обернул форму в UIHostingController. Поэтому UIHostingController программно передается в UINavigationViewController из одного из моих других ViewControllers.
Чтобы продемонстрировать проблему, я создал чистый проект с использованием XCode 11.2 (11B52) и запустил его в симуляторе iOS 13.2. Поля исчезают. В iOS 13.1.2 поля работают должным образом.
Использование приведенного ниже кода в новом проекте, оборачивание представления раскадровки в UINavigationViewController и последующее подключение кнопки к showForm () приведет к тому, что яиспытываю.
import SwiftUI
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
extension ViewController {
@IBAction func showForm() {
navigationController?.pushViewController(FormViewController(), animated: true)
}
}
struct FormView: View {
@State private var text: String = ""
}
extension FormView {
var body: some View {
Form {
ForEach(0..<100) { index in
VStack {
Text("Question \(index)")
TextField("", text: self.$text)
.textFieldStyle(RoundedBorderTextFieldStyle())
}
}
}
}
}
class FormViewController: UIHostingController<FormView> {
convenience init() {
self.init(rootView: FormView())
}
}
Если у кого-то есть решение этой проблемы или он знает, что происходит, я буду признателен.