Après avoir cliqué sur le sélecteur, il accède à la vue de sélection. La liste des éléments est rendue trop loin du haut, mais s'accroche une fois l'animation terminée. Pourquoi cela arrive-t-il?
Démo: https://gfycat.com/idioticdizzyazurevase
J'ai déjà créé un exemple minimal pour exclure les titres et boutons de la barre de navigation, les sections de formulaire et d'autres détails:
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()
}
}
Cela se produit en mode aperçu, sur simulateur et sur l'appareil (Xcode 11.2, iOS 13.2 dans le simulateur, 13.3 beta 1 sur l'appareil).
.listRowInsets()
.Réponses:
Le comportement évidemment bogué peut être contourné lors du forçage du style de vue de navigation à empiler:
C'est une solution à mon problème, mais je ne marquerai pas cela comme une réponse acceptée (pour le moment).
la source
À mon avis, cela a quelque chose à voir avec la barre de navigation. Par défaut (pas de mention d'
.navigationBarTitle
extension), le mode d'affichage de navigation est réglé sur.automatic
, il doit être modifié en.inline
. Je suis tombé sur un autre post similaire à celui-ci et j'utilise leur solution pour la combiner avec la vôtre, en utilisant.navigationBarTitle("", displayMode: .inline)
devrait aider.la source
Jusqu'à ce que ce bogue soit résolu, une autre façon de contourner ce problème tout en conservant DoubleColumnNavigationViewStyle pour iPad serait de définir ce style de manière conditionnelle:
la source
Merci pour ce fil tout le monde! M'a vraiment aidé à mieux comprendre les choses et à saisir l'un de mes problèmes. Pour partager avec les autres, je rencontrais ce problème mais je rencontrais également ce problème lorsque je définissais une section pour apparaître dans une instruction if / else définie sur une section avec une bascule. Lorsque la bascule était activée, elle déplacerait l'en-tête de section horizontalement de quelques pixels.
Voici comment je l'ai corrigé
J'ai toujours un décalage horizontal sur ma vue de sélection de sélecteur et je ne sais pas comment résoudre ce problème. J'ai créé un autre fil pour recevoir une entrée. Merci encore! SwiftUI Shift Picker Text Horizontal
la source