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("会員新規登録")
    }
}

