XCodeのiPadシミューレーターを使用する際に、Viewが真っ白の画面になってしまい、困ったことがあったため、残しておきます。
現象
元々iPhoneのシミュレーターで動作確認をしていたアプリで、iPhoneの動作確認がひと段落したため、iPadで確認しようとしたところ、表題のような現象が発生しました。
再現用のソース
特に変わったことはしておらず、NavigationViewを使用しているだけです。
“Hello, World!”と表示されることを期待したのですが、真っ白な画面と左上にBackボタンが付いている画面になってしまいます。
import SwiftUI
struct NavigationViewError: View {
var body: some View {
NavigationView {
Text("Hello, World!")
}
}
}
原因
NavigationViewを使用している時に、現象が発生します。
NavigationViewをデフォルトで使用すると、iPad等の幅の広い画面だと複数の列で表示されるようです。(iPhoneだと幅が狭いため、自動的に1つの列の画面になるのだと思います)
https://developer.apple.com/documentation/swiftui/view/navigationviewstyle(_:)
解決策
NavigationViewのスタイルを指定すると解決できました。
解決方法
NavigationViewにモディファイア「.navigationViewStyle(.stack)」を適用するだけです。
import SwiftUI
struct NavigationViewError: View {
var body: some View {
NavigationView {
Text("Hello, World!")
}
.navigationViewStyle(.stack)
}
}

