Después de hacer clic en el selector, navega a la vista de selección. La lista de elementos se representa demasiado lejos de la parte superior, pero se ajusta una vez que finaliza la animación. ¿Por qué está pasando esto?
Demostración: https://gfycat.com/idioticdizzyazurevase
Ya creé un ejemplo mínimo para descartar títulos y botones de la barra de navegación, secciones de formulario y otros detalles:
import SwiftUI
struct NewProjectView: View {
@State var name = ""
var body: some View {
NavigationView {
Form {
Picker("Client", selection: $name) {
Text("Client 1")
Text("Client 2")
}
}
}
}
}
struct NewProjectView_Previews: PreviewProvider {
static var previews: some View {
NewProjectView()
}
}
Esto sucede en modo de vista previa, simulador y en dispositivo (Xcode 11.2, iOS 13.2 en simulador, 13.3 beta 1 en dispositivo).
.listRowInsets()
.Respuestas:
El comportamiento obviamente defectuoso se puede solucionar cuando se fuerza el estilo de la vista de navegación para apilarse:
Esta es una solución a mi problema, pero no marcaré esto como respuesta aceptada (todavía).
fuente
En mi opinión, tiene algo que ver con la barra de navegación. Por defecto (sin mencionar la
.navigationBarTitle
extensión), el modo de visualización de navegación está configurado en.automatic
, esto debería modificarse a.inline
. Encontré otra publicación similar a esta y uso su solución para combinarla con la tuya, usando.navigationBarTitle("", displayMode: .inline)
debería ayudar.fuente
Hasta que este error se resuelva, otra forma de solucionar este problema mientras se mantiene DoubleColumnNavigationViewStyle para iPads sería establecer condicionalmente ese estilo:
fuente
Gracias por este hilo a todos! Realmente me ayudó a entender más las cosas y a resolver uno de mis problemas. Para compartir con otros, tenía este problema pero también tuve este problema cuando configuré una sección para que apareciera en una instrucción if / else establecida en una sección con una palanca. Cuando se activaba la palanca, desplazaría el encabezado de la sección horizontalmente unos pocos píxeles.
Lo siguiente es cómo lo arreglé
Todavía tengo desplazamiento horizontal en mi vista de selección de selector y no estoy seguro de cómo solucionarlo. Creé otro hilo para recibir entrada. ¡Gracias de nuevo! SwiftUI Shift Picker Text Horizontal
fuente