Nach dem Klicken auf die Auswahl navigiert es zur Auswahlansicht. Die Elementliste wird zu weit von oben gerendert, wird jedoch nach Abschluss der Animation angezeigt. Warum passiert dies?
Demo: https://gfycat.com/idioticdizzyazurevase
Ich habe bereits ein minimales Beispiel erstellt, um Titel und Schaltflächen der Navigationsleiste, Formularabschnitte und andere Details auszuschließen:
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()
}
}
Dies geschieht im Vorschaumodus, im Simulator und auf dem Gerät (Xcode 11.2, iOS 13.2 im Simulator, 13.3 Beta 1 auf dem Gerät).
.listRowInsets()
.Antworten:
Das offensichtlich fehlerhafte Verhalten kann umgangen werden, wenn der Navigationsansichtsstil gestapelt wird:
Dies ist eine Lösung für mein Problem, aber ich werde dies (noch) nicht als akzeptierte Antwort markieren.
quelle
Meiner Meinung nach hat das etwas mit der Navigationsleiste zu tun. Standardmäßig (keine Erwähnung der
.navigationBarTitle
Erweiterung) ist der Navigationsanzeigemodus auf eingestellt.automatic
, dies sollte geändert werden.inline
. Ich bin auf einen ähnlichen Beitrag gestoßen und verwende deren Lösung, um sie mit Ihrer zu kombinieren.navigationBarTitle("", displayMode: .inline)
.quelle
Bis dieser Fehler behoben ist, besteht eine andere Möglichkeit, dieses Problem zu umgehen und gleichzeitig den DoubleColumnNavigationViewStyle für iPads beizubehalten, darin, diesen Stil unter bestimmten Bedingungen festzulegen:
quelle
Danke für diesen Thread an alle! Hat mir wirklich geholfen, die Dinge besser zu verstehen und eines meiner Probleme in den Griff zu bekommen. Zum Teilen mit anderen hatte ich dieses Problem, aber ich hatte auch dieses Problem, als ich einen Abschnitt so festlegte, dass er in einer if / else-Anweisung angezeigt wird, die für einen Abschnitt mit einem Umschalter festgelegt wurde. Wenn der Umschalter aktiviert war, wurde der Abschnittskopf horizontal um einige Pixel verschoben.
Folgendes habe ich behoben
Ich habe immer noch eine horizontale Verschiebung in meiner Auswahlauswahl und bin mir nicht sicher, wie ich das beheben soll. Ich habe einen weiteren Thread erstellt, um Eingaben zu erhalten. Danke noch einmal! SwiftUI Shift Picker Text horizontal
quelle