Wenn Sie mit einem Formular oder einer Liste (gruppiert) zu einer neuen Ansicht navigieren, wird der Inhalt etwa ein Viertel des unteren Randes des Titels der Navigationsansicht angezeigt und etwa eine halbe Sekunde später an der richtigen Stelle "eingeblendet". Sehr hässlich. Sie sind sich nicht sicher, ob dies ein SwiftUI-Fehler ist oder ob ich etwas falsch strukturiere?
Ich habe dies sowohl auf dem Simulator als auch auf dem Gerät mit den gleichen Ergebnissen getestet.
Ich denke, es hat etwas mit dem Umgang mit Navigationslinks zu tun? Jeder Navigationslink ruft in seiner Zielansicht init () auf, wenn ContentView angezeigt wird. Für mich macht dies keinen Sinn. Sollte das Ziel init () nicht nur in dem Moment aufgerufen werden, in dem ein Benutzer tatsächlich auf den Navigationslink klickt?
Ich habe dies auch mit einem Blatt versucht und das Problem besteht nicht mit Blättern, nur wenn Navigationslinks mit Formularen oder Listen verwendet werden, die als gruppiert gestaltet sind.
Code aus einer brandneuen Single View-Anwendung:
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: TestView()) {
Text("Test Link")
}
.navigationBarTitle("Content View")
}
}
}
struct TestView: View {
var body: some View {
Form {
Text("Test View")
}
.navigationBarTitle("Test View")
}
}