长按使用约束更新放大

Long Press Enlarge Using Constraints Update

我有一个正在运行的功能,但我不明白它为什么会运行。我只是简单地玩弄这些价值观,直到它达到我想要的效果。我要求解释,因为我担心,如果我不了解它的工作原理,它可能会在某些时候以不可预测的方式运行。

当用户长按按钮时,代码为 运行。该代码然后将具有 30 个前导 space 和 30 个尾随 space 的图像放大到超级视图,使其没有前导 space 和尾随 space。因为图像已经有比例限制,所以增加高度以保持图像的 width/height 比例。

我不明白的是为什么我只需要从每个约束中减去 9 就可以使它接近 superview 边缘,但我必须给每个约束加 30 才能达到 return原始尺寸。

//LONG PRESS FUNCTION
//Scoring Page: Fact Section

var zoomState = ""

@IBOutlet var fctBx_Img_LeadingCon: NSLayoutConstraint!
@IBOutlet var fctBx_Img_TrailCon: NSLayoutConstraint!

@IBAction func longPress(sender: UILongPressGestureRecognizer) {
    if sender.state == UIGestureRecognizerState.Began {
        if zoomState == "" {
            fctBx_Img_TrailCon.constant = -9
            fctBx_Img_LeadingCon.constant = -9
            zoomState = "zoomed"
        }
        else {
            fctBx_Img_TrailCon.constant = +30
            fctBx_Img_LeadingCon.constant = +30
            zoomState = ""
        }
    }
}

详情: 使用 Xcode 6.4 使用 Swift 使用故事板 使用自动布局,仅 iPhone,仅纵向 我是编程和应用程序开发的新手。

您并没有减去值 -9,实际上您分配给它的值与您分配的加法部分 +30 相同。所以它恢复到正常值。