我有一个NSLayoutConstraint
约束,如下所示:
var myConstant:CGFloat = 20
var myConstraint = NSLayoutConstraint (item: image,
attribute: NSLayoutAttribute.Width,
relatedBy: NSLayoutRelation.Equal,
toItem: nil,
attribute: NSLayoutAttribute.NotAnAttribute,
multiplier: 1,
constant: myConstant)
self.view.addConstraint(myConstraint)
按下UIButton时,图像会调整大小,因此图像的常量会发生变化。
self.image.transform = CGAffineTransformMakeScale(0.8, 0.8)
但是,当我在转换完成后打印常量的值时,常量保持与以前相同:
println(constraintImageCharacterHomeLeading.constant) // 20
为什么会这样?我调整了图像的大小,因此约束必须有所不同。
答案 0 :(得分:1)
myConstraint.constant
它会为你完成这项工作。
答案 1 :(得分:1)
变换和自动布局不能很好地协同工作。如果设置视图的变换,则预期它不会更新约束的行为。