Tengo una lista estándar solo con un texto y en el lado derecho la flecha para la navegación. Pero después de que la lista se carga y aparece en la pantalla, la lista se adapta a las celdas, creo que agregan relleno a la izquierda y a la derecha. Pero esto no se ve bien, ¡así que parece que la lista está retrasada!
List {
ForEach(0..<book.chapters) { index in
NavigationLink(destination: ReadingView(book: self.book, chapter: index)){
Text("Kapitel \(index + 1)")
}
}
}
.navigationBarTitle(Text(book.long_name), displayMode: .inline)
Respuestas:
Tengo el mismo problema pero solo en el simulador. Cuando estoy ejecutando la aplicación en cualquier teléfono, no importa la antigüedad, funciona perfectamente como cabría esperar. Deberías intentar eso.
Editar: ah ahora veo los datos móviles, estás en tu teléfono. En ese caso, puede presentar un informe de error a Apple y esperar y utilizar siempre el software más reciente.
fuente
Hay una posible solución para esto que produce otras complicaciones: animaciones. Este extraño error se ve afectado por las animaciones, así que solo dale una animación como
Hará que el error sea al menos invisible, pero tenga en cuenta que todas las subvistas heredarán esa animación, por lo que debe anularla manualmente de nuevo. Si está escribiendo una aplicación profesional, use la solución TableView de la respuesta de Repose.
Lo extraño: descubrimos que sucede en el iPhone XR y 11 (simulador y dispositivo real) pero no en el iPhone 11 Pro, por lo que solo puede ocurrir en dispositivos LCD.
Espero que esto ayude a los futuros visitantes de este hilo que tropiecen con este hilo como lo hice mientras experimentaba ese error
fuente
Se me ocurrió una solución para solucionar este problema. Una advertencia, mientras soluciona el cambio en la tabla, introduce un retraso en la animación del título de la barra de navegación, por lo que está advertido.
Mientras tanto, puede usar TableViewController de UIKit hasta que Apple arregle el objeto Lista de SwiftUI.
En resumen, debe crear un TableViewController y envolverlo en UIViewControllerRepresentable para luego inyectarlo en su vista SwiftUI. La acción de navegación se realiza mejor a través del método delegado didSelectRowAt.
Actualización: parece que el problema se ha resuelto en el nuevo XCode 11.4 (sin embargo, ahora hay más problemas en el entorno del simulador)
Tengo un código completo aquí: https://gist.github.com/Rep0se/97d7a97cfd05f42aa597904e6a2cfd3d
fuente