XCode 12.4 日本語化計画:Swift Tutorials
複雑なインターフェースの構成
セクション 5
さまざまにカテゴリ化されたランドマークがすべてビューに表示されるため、ユーザはアプリ内の各セクションにアクセスする方法が必要です。ナビゲーションおよびプレゼンテーション API を使用して、カテゴリホーム、詳細ビュー、およびお気に入りリストをタブビューからナビゲートできるようにします。
ステップ 1
CategoryRow.swift 内で、既存の CategoryItem を NavigationLink で包み込みます。
カテゴリの項目自体はボタンのラベルであり、その宛先はカードで表されるランドマークの landmark 詳細ビューです。
プレビューをピン止めして、CategoryRow に対する次のステップの効果を確認します。
ステップ 2
renderingMode(_:) および foregroundColor(_:) 修飾子を適用して、カテゴリの項目のナビゲーションの外観を変更します。
ナビゲーションリンクのラベルとして渡すテキストは、環境のアクセントカラーを使用してレンダリングされ、画像はテンプレート画像としてレンダリングされる場合があります。どちらの動作も、デザインに最も合うように変更できます。
次に、アプリのメインコンテンツビューを変更して、あなたが今作成したカテゴリビューと既存のランドマークのリストのどちらかをユーザが選択できるタブビューを表示します。
ステップ 3
プレビューのピン止めを解除し、ContentView に切り替えて、表示するタブ (Tab) の列挙型を追加します。
ステップ 4
タブ選択 (selection) の状態 (State) 変数を追加し、デフォルト値を指定します。
ステップ 5
LandmarkList と新しい CategoryHome を包み込むタブビューを作成します。
各ビューの tag(_:) 修飾子は、selection プロパティが取ることができる値の 1 つと一致するため、TabView は、ユーザがユーザインターフェイスで選択を行ったときに表示するビューを調整できます。
ステップ 6
各タブにラベルを付けます。
ステップ 7
ライブプレビューを開始して、新しいナビゲーションを試してみてください。
    CategoryRow.swift
    CategoryItem.swift
    ContentView.swift
    ContentView.swift
    ContentView.swift
    ContentView.swift
セクション 1 | セクション 2 | セクション 3 |
セクション 4 | セクション 5 | |
セクション 101 | セクション 102 | セクション 103 |
セクション 104 | セクション 105 |
フレームワーク
ランドマークアプリのルートビューはどのビューですか?
LandmarksApp |
Landmarks |
ContentView |
ContentView ビューは、アプリの他の部分からのコードをどのように使用しますか?
さまざまなランドマークの画像アセットを再利用します。 |
修飾子には同じ構文を使用し、ビューには同じ命名規則を使用します。 |
ナビゲーション階層内のすべてのランドマークビューを接続します。 |
ビューをナビゲーションリンクに変える正しいコードはどれですか?
Landmarks アプリでは、ユーザは自分の性格を表現するためのプロファイルを作成できます。ユーザに自分のプロフィールを変更する機能を提供するには、編集モードを追加して設定画面を設計します。