SwiftUIのNavigationLinkを使った画面遷移を実装したところ、遷移先の新規登録ビューに謎の空白(ビュー上部)が発生してしまう問題に遭遇した。
![](https://i0.wp.com/chusotsu-program.com/wp-content/uploads/2021/04/image-45.png?resize=506%2C1024&ssl=1)
![](https://i0.wp.com/chusotsu-program.com/wp-content/uploads/2021/04/image-46.png?resize=504%2C1024&ssl=1)
気づいてみれば簡単なことだったのだが、この問題の解決法がわかったので紹介する。
問題のコードがこちら。
struct MemberAddView: View {
var body: some View {
NavigationView {
VStack {
Form {
// 省略
}
}
.navigationBarTitle("会員新規登録")
}
}
}
これは遷移先の新規登録ビューのコードなのだが、遷移先のビューにもNavigationViewの記述が存在すると、今回の問題が起こってしまうようだ。
NavigationViewを削除し、下記のようにすることで空白をなくすことができた。
struct MemberAddView: View {
var body: some View {
VStack {
Form {
// 省略
}
}
.navigationBarTitle("会員新規登録")
}
}
![](https://i0.wp.com/chusotsu-program.com/wp-content/uploads/2021/04/image-45.png?resize=506%2C1024&ssl=1)
![](https://i0.wp.com/chusotsu-program.com/wp-content/uploads/2021/04/image-47.png?resize=506%2C1024&ssl=1)