XCode 12.5 日本語化計画:Swift Tutorials
macOS アプリの作成
セクション 2
詳細ビューには、選択したランドマークに関する情報が表示されます。iOS アプリ用にこのようなビューを作成しましたが、プラットフォームが異なれば、データ表示に対するアプローチも異なります。
わずかな調整や条件付きコンパイルでプラットフォーム間に対するビューを再利用できる場合もありますが、詳細ビューは macOS では非常に異なるため、専用のビューを作成することをお勧めします。初めに iOS の詳細ビューをコピーしてから、macOS のより大きなディスプレイに合うように変更しましょう。
ステップ 1
LandmarkDetail と言う、macOS をターゲットとする MacLandmarks グループ内に新しいカスタムビューを作成します。
これで、LandmarkDetail.swift という 3 つのファイルができました。それぞれがビュー階層で同じ目的を果たしますが、特定のプラットフォームに合わせたエクスペリエンスを提供します。
ステップ 2
iOS の詳細ビューの内容を macOS の詳細ビュー内にコピーします。
macOS では navigationBarTitleDisplayMode(_:) メソッドは使用できないため、プレビューは失敗します。
ステップ 3
NavigationBarTitleDisplayMode(_:) 修飾子を削除し、frame 修飾子をプレビューに追加して、より多くのコンテンツを表示できるようにします。
ライブプレビューを開始しない限り、MapView は空白のままです。
次のいくつかの手順で行う変更により、Mac での大型ディスプレイのレイアウトが改善されます。
ステップ 4
park と state を保持している HStack を、VStack で先頭に配置するように変更し、Spacer を削除します。
ステップ 5
MapView 以下のすべてのものを VStack で囲み、CircleImage と残りのヘッダを HStack 内に配置します。
ステップ 6
circle からオフセット(offset) を削除し、代わりに VStack 全体に小さなオフセットを適用します。
ステップ 7
resizable() 修飾子を画像に追加し、CircleImage を少し小さく制限します。
ステップ 8
ScrollView を最大幅に制限します。
これにより、ユーザがウィンドウを非常に広くした場合の読みやすさが向上します。
ステップ 9
PlainButtonStyle を使用するように FavoriteButton を変更します。
ここでプレーンスタイルを使用すると、ボタンが iOS と同じように見えます。
ディスプレイが大きいほど、追加機能のためのスペースが増えます。
ステップ 10
ZStack に [Open in Maps(マップで開く)] ボタンを追加して、マップの右上隅に表示されるようにします。
マップに送信する MKMapItem を作成できるようにするには、必ず MapKit を含めてください。
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
LandmarkDetail.swift
セクション 1 | セクション 2 | セクション 3 | セクション 4 |
セクション 5 | セクション 6 | セクション 7 | |
セクション 101 | セクション 102 | セクション 103 | セクション 104 |
セクション 105 | セクション 106 | セクション 107 |