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

标签 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

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

最佳答案

Transforms 和 Auto Layout 不能很好地协同工作。如果您设置 View 的转换,它的预期行为是不更新约束。

关于ios - 如何在 Swift 中检索约束常量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629076/

相关文章:

ios - Swift 中自定义函数内的按钮操作

swift - 在 swift 中的 try/catch 中何处放置延迟完成闭包

ios - 如何在传递给另一个类的 WKWebView 上使用 didFinish 导航

ios - 布局约束不适用于 view.frame.size.height

ios - 应用纵横比约束时 UIImageView 消失

ios - Objective-c 中 UIImageView 的动画

ios - 以编程方式定义的不同行为 NSLayoutConstraints 与 'greaterThanOrEqual' 的 Storyboard 约束

android - 是否可以确定/识别 BLE 设备何时即将断开连接

ios - 更新解析值

ios - NSLayoutConstraint 常量改变回调