1. ホーム
  2. ios

[解決済み] オートレイアウトを使用して全幅の割合を作成するには?

2022-08-30 16:16:54

質問

3つの動的な列を作成する必要があり、それぞれが全幅の一定割合となります。 3分の1ではなく、異なる値です。 例えば、次の図は3つの列を示しています。1つ目は幅42%、2つ目は幅25%、3つ目は幅33%です。

600ピクセルの横幅のビューコントローラの場合、それぞれ252、150、198ピクセルになります。

しかし、それ以降のディスプレイ サイズ (たとえば、iPhone 4 のランドスケープ (960 ワイド) や iPad 2 のポートレート (768 ワイド)) では、相対的なパーセントを同じにしたいと思います (上記で引用したピクセル幅ではありません)。

Storyboards を使用して (つまり、コードを使用せずに) これを行う方法はありますか? コードで簡単に行うことができますが、私の目標は、この表示ロジックをできるだけ多くストーリーボードに入れることです。

どのように解決するのですか?

あなたが言うように、コードでそれを行う方法を知っている場合、あなたはすでにストーリーボードでそれを行う方法を知っています。それはまったく同じ制約ですが、コードではなく視覚的に作成しているのです。

  1. ビューとそのスーパービューの両方を選択します。

  2. Editor -> Pin -> Widths Equallyを選択して、スーパービューの幅と同じになるように制約します(実際には、キャンバスの下部にある"pin"ポップアップダイアログがここでは最も効果的です)。

  3. 制約を編集し、Multiplier (乗数) を希望の割合 (例: 0.42) に設定します。そして、他のビューについても同様です。