SwiftUIのNavigationLinkを使った画面遷移を実装したところ、遷移先の新規登録ビューに謎の空白(ビュー上部)が発生してしまう問題に遭遇した。


気づいてみれば簡単なことだったのだが、この問題の解決法がわかったので紹介する。
問題のコードがこちら。
struct MemberAddView: View {
var body: some View {
NavigationView {
VStack {
Form {
// 省略
}
}
.navigationBarTitle("会員新規登録")
}
}
}
これは遷移先の新規登録ビューのコードなのだが、遷移先のビューにもNavigationViewの記述が存在すると、今回の問題が起こってしまうようだ。
NavigationViewを削除し、下記のようにすることで空白をなくすことができた。
struct MemberAddView: View {
var body: some View {
VStack {
Form {
// 省略
}
}
.navigationBarTitle("会員新規登録")
}
}

