レイアウトと形状:まとめ
Layout and geometry: Wrap up
親はサイズを提案し、子は自分のサイズを選択し、親はそれを配置します。
チャレンジ
学習する最良の方法の1つは、できるだけ頻繁に独自のコードを記述することです。そのため、このアプリを拡張して、何が起こっているのかを完全に理解できるようにするための3つの方法を次に示します。
プロジェクト8(Moonshot)を変更してMissionView、ミッションバッジの画像を下にスクロールすると画像が小さくなるようにします。何も縮小する必要はありません。おそらく80%まで下げても問題ありません。
プロジェクト5(単語のスクランブル)を変更して、リストの一番下にある単語が右にスクロールするとスライドするようにします。理想的には、少なくとも上位8〜10語をすべて通常の位置に配置する必要がありますが、その後は次第に右側にオフセットする必要があります。
実際の課題として、プロジェクト5の文字カウント画像をスクロールしながら色を変えてください。最高の効果を得るには、Color(red:green:blue:)初期化子を使用して色を作成し、変更する赤、緑、青のいずれかの値を入力する必要があります。入力する値は、行の現在の位置を最大位置で割った値を使用して計算できます。これにより、0〜1の範囲の値が得られます。
ヒント:これら3つすべてでを使用するGeometryReader必要があります。そのため、各ビューのフレームの計算方法を理解する必要があります。これらはかなり難しいので、順序が狂ってしまった場合や助けを求めなければならない場合でも、気を悪くしないでください!