SwiftUIのNavigationBarを非表示にしたい

February 27, 2021

最近は、積極的にSwiftUIを使用してコードを書いています。 UIViewControllerにembedしたSwiftUIのViewを表示時にNavigationBarが 強制的に表示されてしまうという問題があったので調査したところiOS13でWorkaroundが必要だったので共有します。

var body: some View {
  NavigationView {
    VStack {
      /* ... */
    }
    .navigationBarTitle("") // iOS13の対応で必要
    .navigationBarHidden(true)
  }
}

iOS14以降のバージョンから修正されているので、.navigationBarHidden(true)のみで大丈夫になります。

(参考元)[https://stackoverflow.com/questions/57517803/how-to-remove-the-default-navigation-bar-space-in-swiftui-navigationview]