2016-11-14 10 views
8

私は1つの画面を持っています。これは、ユーザーがクリックするとストーリーボードから追加された制約をプログラムで変更する方法はありますか?

enter image description here

は今、私はそれが

enter image description here

が、私はそれに応じ Iを両方のビューを移動したいの下のように表示されますアカウントとパスワード(ボタンを)持っている下のように表示されますストーリーボードを使用して制約を追加しました。プログラミングから制約を変更する必要があります。

+2

UIButtonまたはUILabelのコンセントを作成するように、変更するコンストレインのコンセントを作成するだけです。 –

答えて

18

制約のIBOutletを作成する必要があります。
enter image description here

次に、あなたがコードであなたの制約の一定の値を設定します。

labelWidthConstraint.constant = newValue 

あなたはそれはあなたがこのような何かを行うことができますアニメーションする場合:

スウィフト

labelWidthConstraint.constant = newValue 
UIView.animate(withDuration: 0.3, animations: { 
    view.layoutIfNeeded() 
} 

目的-C

self.labelWidthConstraint.constant = newValue; 
[UIView animateWithDuration:0.3 animations:^{   
    [self.view layoutIfNeeded]; 
}]; 
+1

'layoutSubviews()'を呼び出さないでください(ドキュメントを参照)。代わりに 'layoutIfNeeded()'を使用してください。 – clemens

+0

このコードを客観的なcに変換してください。 –

+0

Nilam Pari、Objective-Cの例を含む答えを更新しました。 –

関連する問題