X位置约束不以编程方式更新 - Xcode中的Swift

时间:2016-05-15 16:28:55

标签: ios xcode swift constraints nslayoutconstraint

我在一个设置为IBOutlet的UISwitch上以编程方式设置了以下约束:

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值时,开关的位置正确更新,但我不想使用尺寸检查器。如何以编程方式获取约束集以覆盖Size Inspector中的X值?我还添加了一个约束,指定开关的Y位置(底部约束),而这个 工作。谢谢!

1 个答案:

答案 0 :(得分:0)

您的说明中没有很多信息可供使用。

我通常会添加我的约束:

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

timeSwitchtimeLabel视图层次结构的一部分吗?

您是否将translatesAutoresizingMaskIntoConstraints设为false?

是否有其他可能影响它的限制?