如何在Swift中检索约束常量的值?

时间:2015-02-20 12:30:33

标签: ios swift nslayoutconstraint

我有一个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

为什么会这样?我调整了图像的大小,因此约束必须有所不同。

2 个答案:

答案 0 :(得分:1)

myConstraint.constant

它会为你完成这项工作。

答案 1 :(得分:1)

变换和自动布局不能很好地协同工作。如果设置视图的变换,则预期它不会更新约束的行为。