【发布时间】:2017-11-23 03:56:10
【问题描述】:
我在图像上有一个长按手势识别器。当有人点击图片时,我希望出现一个小动画,图片在 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)
})
}
}
这就是上面代码的作用。它使图片变小,然后恢复到原来的大小。问题是它不会从图像的中心变小。我希望图像从图像的中心缩小,以便它可以保持在相同的位置。
【问题讨论】:
-
奇怪的问题,但是你有一个长按手势,同时你说当有人点击时。这是两个不同的东西。拜托,你能给我们一些更...一致的东西吗?...复制问题?