2017-01-31 4 views
1

条件付きで表示コントロールの下部にあるUILabelを非表示にし、その直上のビューを調整してスペースを埋めるようにしています。XCode 8:UIElementが隠されているときにビューが調整されない

ビューコントローラの下部にあるUILabelの高さは0で、ビューコントローラの下部には0という制約があります。その上のビューには、ビューコントローラの下部に120という制約があります。

UILabelを非表示にし、その上のビューの値をView Controllerの下部に0(viewBottomConstraint)と変更すると、UILabelは消えますが、上のビューは元の位置に残ります。

答えて

2

ラベルを非表示に変更する代わりに、高さの制約を変更してください。 プロパティをhiddenに設定しても近くのビューには影響しませんが、高さを0に変更してlayoutIfNeededを呼び出すと、その特定のUILabelに関連するすべての制約が更新され、すべてのビューがレイアウトされます。

高さ制約をUILabelの0に設定する必要があります。これを行うには、ストーリーボードの高さ制約のアウトレットをUIViewControllerにドラッグし、次に、ちょうど:

+0

これはうまく動作します、ありがとう! –

関連する問題