これは、iPadとiPhoneに異なるレイアウトを追加するために、プロジェクトで「VaryTraits」をすばやく使用する方法に関する単なる拡張です。
サイズクラスの詳細については、これをお読みください。
https://developer.apple.com/reference/uikit/uitraitcollection
以下の例をスキップする場合は、最後に要約を読んでください。
iPhoneとiPadでは幅の異なるボタンが必要です。前者の幅は80、後者の幅は300です。
インストールされている複数の制約がある特性によって異なります。
手順:
- ボタンを水平および垂直に中央揃えにするなど、一般的な制約を最初に追加します。
- VaryForTraitsを選択し、サイズクラスのガイドラインに従ってiPhone画面の場合、C * Rサイズクラスがモデルに適合します。これにより、ポップアップの幅と高さの目盛りがチェックされます。画面上の任意の場所をクリックして、ポップアップを閉じます。
- 幅定数を追加し、C * Rサイズクラスに制約が追加されているかどうかを確認します。制約を追加した後、[DoneVarying]ボタンを選択します。
- iPad画面の場合は、もう一度任意のiPadデバイスを選択し、VaryForTraitsを選択します。今回は、height-widthをクリックすると、R * Rの変動が表示されます。
- もう一度幅の制約を追加します。最後に追加したiPhoneの幅の制約は、スクリーンショットのように強調表示を解除する必要があります。今回の付加価値はサイズクラスR * Rです。
- iPhoneのレイアウトに戻すと、幅が80になり、iPadは300になります。
結論:
合計2つの制約が追加されており、両方の制約で、選択したサイズクラスに応じて値が異なることに注意してください。
単一の制約、複数のサイズ-クラスがインストールされている特性によって異なります
- 手順:
- 通常の幅の制約を追加します。次に、その制約を選択し、定数値の横にある[+]ボタンを選択します。
- 特性のバリエーションを追加し、iPhoneの場合はC * Rを選択し、定数値を100に設定します。
- 再びR * Rとして特性のバリエーションに従うiPadの場合、+ボタンをもう一度クリックして値を300に設定することにより、別のバリエーションを追加します。
- iPadを選択すると、幅は自動的に300になり、iPhoneに戻ると値として100になります。
結論:
これは、単一の制約のみが必要で定数値が異なる場合に2つの制約を追加するよりも優れたオプションのようです。
いつ使用するか、何を使用するか:
どちらのアプローチも基本的に同じことを行い、値をサイズクラスに設定します。
ただし、#Method1は、デバイス専用の制約を追加する場合、またはsize-classと言う場合に使用されます。たとえば、iPhoneではボタンは上位50ポイントからのものであり、iPadでは水平方向と垂直方向の中央に配置する必要があります。このような状況では、VaryForTraitsを使用してドアを開き、特定のサイズクラスの制約を追加する必要があります。
#Method2は、同じ制約タイプに対して異なる定数値が必要な場合に使用されます。
PS:例を機能させることができないすべての人に
インストール済みとして必要な制約のみを追加していることを確認してください。Installedに対するチェックボックスは、サイズクラスに必要な制約に対してのみ表示されます。それが鍵です!
ビューのuiButtonにトップ制約とリーディングを追加するだけです。一番上の制約を選択し、プラス記号で基本的なインストール済みオプションのチェックを外します。次に、プラス記号をクリックして、C Rにバリエーションを追加し、そのオプションをチェックします。次に、さまざまな向きの組み合わせでデバイスをiPhoneからiPadに変更します。この制約は、縦向きのiPhoneであるCRサイズクラスにのみ適用されます。基本インストール済み(プラス記号の付いたもの)に対するチェックボックスがオンになっている場合は、すべてのサイズクラスに制約を適用する必要があることを意味します。
概要:
特性の変化は、デバイス構成に基づくユーザーインターフェイスの表示に対する変更です。 ユーザーインターフェイスの特性のバリエーションは、制約だけでなく、さらに多くの用途に適用できます。デバイスが暗いスタイルに設定されている場合に、背景やその他の要素の色を変更するなど。バリエーションは、制約の削除などのユーザーインターフェイスの要素、またはラベルのフォントなどのビュークラスまたは制約のプロパティに適用できます。あなたは変えることができます:
ビューのサイズまたは位置
ビューのインストール
制約のインストール
制約定数
フォント
フォント、色合い、または背景の色
レイアウトマージン
画像ファイル
変更できる特定のプロパティのセットは、要素のクラスによって異なります。この例では、-制約のインストールと-制約定数の使用法を示しました。その他は、非常に単純で、簡単に推測できます。