SwiftUI NavigationView iPhoneとiPadで同じ表示に

概要

NavigationView使用時、起動時にiPhoneとiPadを同じ表示にする。
NavigationViewはiPadは左に一覧(自動開閉)、右に詳細表示になる。
「.navigationViewStyle(StackNavigationViewStyle())」を指定することで同様になる。

指定なし

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                Text("Hello World1")
                Text("Hello World2")
            }
            .navigationBarTitle(Text("Title"), displayMode: .inline)
            .navigationBarItems(trailing: NavigationLink(destination: SwiftUIView(), label: {Text("Link")}))
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

指定あり

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                Text("Hello World1")
                Text("Hello World2")
            }
            .navigationBarTitle(Text("Title"), displayMode: .inline)
            .navigationBarItems(trailing: NavigationLink(destination: SwiftUIView(), label: {Text("Link")}))
        }
        .navigationViewStyle(StackNavigationViewStyle())
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Swift

Posted by shi-n