2016-05-15 8 views
0

でスウィフト:私はこの制約の定数、のX位置を変更するたびX位置の制約をプログラムで更新されない - 私はIBOutletとしたUISwitchに、プログラムで次の制約を設定しているXcodeの

func setConstraints { 
    let leadingConstraintTimeSwitch1 = NSLayoutConstraint(item: timeSwitch, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: timeLabel, attribute: NSLayoutAttribute.Trailing, multiplier: 1, constant: 10) 
    view.addConstraint(leadingConstraintTimeSwitch1) 

スイッチは同じままである。ただし、スイッチのサイズインスペクタに移動してX値を変更すると、スイッチの位置に正しく反映されますが、サイズインスペクタは使用しません。サイズインスペクタのX値をオーバーライドするために、プログラムで制約セットを取得するにはどうすればよいですか?また、スイッチのY位置(下限制約)を指定する制約を追加しました。この1つはです。は動作します。ありがとう!

答えて

0

あなたの説明でから行くために情報の多くはありません..です

私は、通常そのように私の制約を追加:

NSLayoutConstraint(item: timeSwitch, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: timeLabel, attribute: NSLayoutAttribute.Trailing, multiplier: 1, constant: 10).active = true 

は、ビュー階層のtimeSwitchtimeLabel一部ですか?

translatesAutoresizingMaskIntoConstraintsをfalseに設定しましたか?

影響を受ける可能性のある他の制約はありますか?

+0

'timeSwitch'と' timeLabel'はビュー階層の一部です。私は 'translatesAutoresizingMaskIntoConstraints'をfalseに設定しましたが、私は完全にうまく動作する制約を持つ多くのオブジェクトを持っています。それに影響を与える可能性のある他の制約がどのようにあるのかわかりません。私が言ったように、サイズインスペクタでX値を変更すると、スイッチはそのX値の位置に変わりますが、プログラム上の制約はそれを上書きしません。ありがとう! –

+0

どのように定数を変更していますか? – Scriptable

+0

定数を変更することで、 ''% '' '' '' '' '' '' '' '' ''% –

関連する問題