Предстоящая Поддержка
- Поддержка была добавлена в бета-версию 3 Xcode 13.2, которая пока недоступна.
Временное Исправление
Хорошо, так что, основываясь на моих попытках, .submitLabel(...)
не работает с редактором текста. Существует возможное решение, в котором вы добавляете Text(...)
в качестве подвида для TextEditor(...)
но это очень странно, Дженк, и я бы не рекомендовал этого делать. Однако я нашел решение для iOS 13, которое, похоже, работает точно так же, как, по-видимому, работает редактор текста, и оно предназначено для использования UIViewRepresentable
. К счастью, это очень легко реализовать. Создайте эту структуру.
struct TextView: UIViewRepresentable {
typealias UIViewType = UITextView
var configuration = { (view: UIViewType) in }
func makeUIView(context: UIViewRepresentableContext<Self>) -> UIViewType {
UIViewType()
}
func updateUIView(_ uiView: UIViewType, context: UIViewRepresentableContext<Self>) {
configuration(uiView)
}
}
Затем используйте это представление так, как вы использовали бы TextView()
где вы назначаете его свойства. Это эффективно останавливает UIKit
версия текстового представления, поэтому его свойства будут одинаковыми. На этом этапе вы можете пофантазировать с ним и смешать свойства и модификаторы SwiftUI и UIKit.
TextView { view in
view.text = sampleText
view.returnKeyType = .done
}