0

一連のボタンが互いに下にあるビューがあります。ボタンの1つが選択されたら、プログラムで他のすべてのボタンの上部に別のボタンを追加し、すべてのボタンの高さを変更してスペースが失われないようにする必要があります画面の一番下まで。

問題は、このビューで自動レイアウトをオンにする必要があることですが、そのため、ボタンのサイズを変更したり、位置を変更したりできません。

私の質問は、ビュー (ボタン) 内の特定のオブジェクトの自動レイアウトを「オーバーライド」して、ボタンが選択されたときにレイアウトを変更するにはどうすればよいかということです。

ありがとう

4

1 に答える 1

1

Autolayout は、あなたが説明しているユースケースに対応できます。ビューの高さを圧縮して、もう 1 つのボタン用のスペースを作ることができます。

各ボタンで使用- (void)setContentCompressionResistancePriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axisし、優先度を低い数値 (つまり <250) に設定します。縦の行があるので、軸は になりますUILayoutConstraintAxisVertical

-setNeedsUpdateConstraints新しい制約を表示するには、すべてのボタンのスーパービューを呼び出す必要があります。

于 2013-07-11T11:58:13.987 に答える