El campo de texto en una lista no funciona correctamente en SwiftUI.
Este problema es con SwiftUI para una aplicación de iPhone 12, usando xcode 13.1.
Construí una lista con TextField en cada fila, pero cada vez que intento editar el contenido, solo me permite tocar una vez y solo ingresar un caracter, luego no puedo seguir ingresando caracteres a menos que toque de nuevo y luego ingrese otro caracter. ¿Escribí algo mal en el código?
clase PieChartViewModel: ObservableObject, Identifiable {
@Published var options = ["How are you", "你好", "Let's go to zoo", "OKKKKK", "什麼情況??", "yesssss", "二百五", "明天見"]
}
struct OptionsView: View {
@ObservedObject var viewModel: PieChartViewModel
var body: some View {
NavigationView {
List {
ForEach($viewModel.options, id: \.self) { $option in
TextField(option, text: $option)
}
}
.navigationTitle("Opciones")
.toolbar {
ToolbarItem(placement: .bottomBar) {
Button {
addNewOption()
} label: {
HStack {
Image(systemName: "plus")
Text("Crear una nueva opción")
}
}
}
}
}
}
func addNewOption() {
viewModel.options.insert("", at: viewModel.options.count)
}
}
struct OptionsView_Previews: PreviewProvider {
static var previews: some View {
let pieChart = PieChartViewModel()
OptionsView(viewModel: pieChart)
}
}
davy.ai
Es posible que el problema esté relacionado con la vista
TextField
. Intente agregar el modificador.disableAutocorrection(true)
a la vistaTextField
para ver si eso resuelve el problema.