动画图像从图像中心缩小

时间:2017-11-23 03:56:10

标签: ios swift xcode animation

我在图像上有一个长按手势识别器。当有人点击图像时,我想要一个小动画发生在图片变得有点小0.1秒,然后它再增长回原来的大小。我这样做是为了增加他们推动某些东西的效果。

这是我长按手势的功能

@objc func handleLongPress(gesture: UILongPressGestureRecognizer) {
    if gesture.state == .began {
        pushBackImage()
    }
}

我调用pushBackImage函数来处理动画图像。这是下面的功能。

func pushBackImage() {
    UIView.animate(withDuration: 0.1, animations: {
        self.contentImage.frame = CGRect(x: self.contentImage.frame.origin.x, y: self.contentImage.frame.origin.y, width: self.contentImage.frame.width / 1.25, height: self.contentImage.frame.height / 1.25)
    }) { (completed) in
        UIView.animate(withDuration: 0.1, animations: {
        self.contentImage.frame = CGRect(x: self.contentImage.frame.origin.x, y: self.contentImage.frame.origin.y, width: self.contentImage.frame.width * 1.25, height: self.contentImage.frame.height * 1.25)
        })
    }
}

所以这就是上面的代码所做的。它使图片变小,然后再回到原来的大小。问题是它不会从图像中心变小。我希望图像从图像中心缩小,以便它可以保持在相同的位置。

1 个答案:

答案 0 :(得分:2)

为缩小使用量,请根据需要更改x,y值。

self.myView.transform = CGAffineTransform(scaleX: 0.25, y: 0.25)

扩大使用量大于1。

self.myView.transform = CGAffineTransform(scaleX: 1.25, y: 1.25)