我在一个设置为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位置(底部约束),而这个 工作。谢谢!
答案 0 :(得分:0)
您的说明中没有很多信息可供使用。
我通常会添加我的约束:
NSLayoutConstraint(item: timeSwitch, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: timeLabel, attribute: NSLayoutAttribute.Trailing, multiplier: 1, constant: 10).active = true
是timeSwitch
和timeLabel
视图层次结构的一部分吗?
您是否将translatesAutoresizingMaskIntoConstraints
设为false?
是否有其他可能影响它的限制?