フォームまたはリスト(グループ化)を使用して新しいビューに移動すると、コンテンツはナビゲーションビューのタイトルの下部から約1/4の位置に表示され、約0.5秒後に正しい場所に「ポップ」します。とても醜い。これがSwiftUIのバグか、何か間違って構造化しているのかわかりませんか?
私はこれをシミュレータとデバイスの両方でテストしましたが、同じ結果が得られました。
ナビゲーションリンクの処理方法と関係があると思いますか?ContentViewが表示されると、すべてのナビゲーションリンクが宛先ビューでinit()を呼び出します。私にとってこれは意味がありません。宛先init()は、ユーザーが実際にナビゲーションリンクをクリックした瞬間にのみ呼び出されるべきではありませんか?
私はシートでもこれを試しましたが、グループ化されたスタイルのフォームまたはリストでナビゲーションリンクを使用する場合にのみ、シートには問題がありません。
まったく新しいシングルビューアプリケーションのコード:
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")
}
}