iPadでのSwiftUIナビゲーション - マスターリストを表示する方法 質問する

iPadでのSwiftUIナビゲーション - マスターリストを表示する方法 質問する

私のアプリにはシンプルなナビゲーションが必要です

  • リストビュー(親オブジェクト)
  • リストビュー (子オブジェクト)
  • 詳細ビュー(子オブジェクト)

私は iPhone でこの設定を行って動作していますが、iPad でアプリを縦向きモードで実行すると、マスター リストが常に非表示になります。

最初のリストから 2 番目のリストへのナビゲーション リンクを使用している.isDetailLink(false)ため、両方のリストは常にマスター列に残ります。iPad の横向きではすべてが期待どおりに機能しますが、縦向きでは詳細ビューが画面いっぱいに表示されます。画面の左側からスワイプしてリストを表示できますが、ユーザーにもっとわかりやすく表示したいと思います。

そうしたいです。戻るボタンを表示または追加するマスター/リスト側を表示します (Apple Notes アプリのようなもの)。iPhone ではデフォルトで戻るボタンが表示されますが、ポートレート モードの iPad ではその場所には何も表示されません。

iPhoneで見たのはこちらここに画像の説明を入力してください

しかし、これがiPadで見たものここに画像の説明を入力してください

親リスト

struct ParentList: View {

    let firstList = ["Sample data 01", "Sample data 02", "Sample data 03", "Sample data 04", "Sample data 05"]

    var body: some View {
        NavigationView {
            List{
                ForEach(firstList, id: \.self) { item in
                    NavigationLink(destination: ChildList()){

                        Text(item)
                    }
                    .isDetailLink(false)

                }
            }
        }
    }
}

子リスト

struct ChildList: View {

    let secondList = ["More Sample data 01", "More Sample data 02", "More Sample data 03", "More Sample data 04", "More Sample data 05"]

    var body: some View {
        List{
            ForEach(secondList, id: \.self) { item in
                NavigationLink(destination: ChildDetail()){

                    Text(item)

                }
            }
        }
    }
}

子供の詳細

struct ChildDetail: View {

    var body: some View {
        Text("Child detail view")
    }

}

更新: 2019年10月17日現在、これを機能させる方法が見つかりませんでした。.navigationViewStyle(StackNavigationViewStyle())当面はこれを使用することにしました。興味深いことに、これは通常の修飾子のようにナビゲーション ビュー内に配置されますが、ナビゲーション タイトル内に配置されません。

ベストアンサー1

ポートレートでは、デフォルトの分割ビューは機能しません。これは将来修正される可能性がありますが、現在のオプションは次のようです:
(a) 最初のリストのナビゲーション ビュー スタイルを変更して、.navigationViewStyle(StackNavigationViewStyle())ナビゲーションが iPhone と同じように機能するようにし、各ビューをプッシュします。

(b) スタイルをデフォルトのままにして、iPadでは横向きのみをサポートする

(c) UIKitの分割ビューコントローラを実装する

おすすめ記事