2017-07-20 19 views
0

UIViewに3 UIViewがあります。その内容に応じて1つの高さを定義するためにはすべてUIViewが必要です。同時に親ビューはそのサイズに応じてサイズを変更する必要があります子供。しかし、私はこの問題を抱えている:以上の制約が正しく働いていない

Not working properly

私はいつもその内容に固執し、列の最後の残りのスペースを残すために、第2のカラムの高さから最初のUIViewを必要としています。言い換えれば、私が望むのは、第2列の最初のUIViewを縮小することです。 、

Interface Builder

私は変更の優先順位が、何の作業を試してみたあなたは私を助けることができると思います。ここでは

greater than or equal制約が(私は、関連する制約を強調表示)私は期待通りに動作していない、私のIBです、ありがとう。

EDIT:それぞれ内部で何が起こっているかを示すのを忘れましたUIView。画像が存在する可能性があるか、そうでないない場合、私はそれを削除し、ラベルにUIViewの高さの責任を「合格」、まさにそれ:

Inside each UIView

+0

ラベルの背景色を白以外のものに変更できますか。ラベルの位置と外観がどこにあるかを確認するだけです。 – Fogmeister

+0

ラベルコンテナは、テキストが終了するところで終了し、ラベルとビューの終わりの間のスペースは空です。 –

+0

実行時に意味します。白い白は、レイアウトが何をしているのか見ることができません。あなたがそれを実行するときに何が起こっているかを見るために赤または何かにそれらを変更します。 – Fogmeister

答えて

0

以上の制約がいつものようになります可能な限り小さく、他のすべての制約を満たす。したがって、この場合は正しいです...

正しい理由は、使用しているラベルによってフレームがコンテンツを超えて拡大することができるからです。

これを修正するには、右側の2つのラベルのcontent hugging priorityを変更する必要があります。

これを行うには、ラベルを選択し、Interface Builderのプロパティインスペクタの測定セクションに移動します。

下部には、「コンテンツの抱き合わせの優先度」が表示されます。これのverticalの値を1000(a.k.a.が必要)に変更します。

これは、コンテンツに合わせるためにフレームをできるだけ小さく保つようにラベルに指示します。したがって、これを満たすには、より大きな拘束が必要です。

+0

答えは完全ですが動作しません。UIViewの内部でいくつかのロジックが実行されています、私は今ポストを更新するつもりです –

0

UIViewの下にラベルを拡張して使用していますが、UIViewはラベルの高さ以上に展開する必要がありません。

関連する問題