1

これが私が過去数時間苦労してきたことです。

いくつかのラベル、画像、およびテーブルビューを含むビュー コントローラーがあります。サポートされているさまざまなデバイス (つまり、iPhone と iPad のすべてのサイズ) に対して 1 つのストーリーボードのみを使用するために、autolayout/size クラスを使用しています。

「幅コンパクト x 高さコンパクト」の設定は、横向きの 3 インチ 5 インチおよび 4 インチの iPhone に使用されます。したがって、テーブル ビューには 480 ピクセルが必要で、iPhone 5/5S には十分なスペースがあると言うか、480 ピクセルに設定しても、セル内でアイテムを垂直方向に確実に整列させることはできません。

「このビューは常に全幅を取る必要がある」と言う方法がないのはなぜですか?

どんな解決策でも、回避策でも構いません。お時間をありがとうございました!

4

2 に答える 2

0

パーセンテージ ベースのサイジングを取得するには、いくつかの方法があります。

  1. ターゲット要素の幅を別の要素の幅にリンクします。
  2. 要素を Superviewに固定し、 Constantの代わりにMultiplier設定を使用します。

TitleLabel を別の要素と比較して相対的な幅に設定したいとします。

方法 1 の例:

Ctrl キーを押しながら TitleLabel から別のターゲット要素 (その親ビューなど) にドラッグし、[等幅] を選択します。50% の幅が必要な場合は、制約設定の乗数フィールドを 0.5 に変更できます。

方法 2 の例:

TitleLabel の適切な端をそのスーパービューの中央、下端、または後端 * のいずれかにピン留めします ([エディター] -> [ピン] -> [X スペースをスーパービューに])。

Constraints Settings で、 First ItemフィールドにTitleLabel があり、 2 番目の Itemに Superview があることを確認します。

*スーパービューのトップ/リーディング エッジの値は 0 になるため、これらに対する乗数は 0 x 0 = 0 として機能しません。

方法 1 はテーブル ビューではうまく機能しないことがわかったので、方法 2 の方がうまくいく可能性があります。

于 2014-10-22T10:06:28.860 に答える
0

3.5 インチ、4 インチ、4.7 インチのデバイスのサイズ クラスに違いはありません。これらはすべて、水平方向と垂直方向に同じサイズ クラスのデバイスがあり、回転時に同じように動作します。

使用可能なすべてのスペースを取るようにビューを定義できます。制約を使用して、下端と上端に (それぞれ) アタッチされるように下端と上端のビューを明示的に設定し、中央のビュー (この場合はテーブル ビュー) を中央のすべてのスペースを取るように設定します。上面図、下面図による下面の制約。ここで、上面図が上に、下面が下に取り付けられているため、必要に応じて中央のビューを拡大および縮小します。

于 2014-10-19T17:08:55.463 に答える