捏UIPinchGestureRecognizer

时间:2017-12-23 16:10:05

标签: ios swift zoom uipinchgesturerecognizer

我正在做一个带有相册的页面视图控制器,由于我无法找到一种平移图像的方法而不更改图片,我希望图像恢复到原来的大小。用户停止捏。

这是我的代码:

  @objc func pinch(sender:UIPinchGestureRecognizer) {
    if sender.state == .began || sender.state == .changed {
        let currentScale = self.contentImageView.frame.size.width / self.contentImageView.bounds.size.width
        let newScale = currentScale*sender.scale
        let transform = CGAffineTransform(scaleX: newScale, y: newScale)
        self.contentImageView.transform = transform
        sender.scale = 1

       if sender.state == .ended {
            contentImageView.transform = CGAffineTransform.identity
        }

    }
}

缩放部分工作正常,但当我释放捏它没有做任何事情时,任何建议都将非常感激。

1 个答案:

答案 0 :(得分:1)

从您的代码中,您永远不会重置:

  if sender.state == .ended {
        self.contentImageView.transform = CGAffineTransform.identity
  }

因为您尝试在第一个if中验证它。尝试改变它:

if sender.state == .began || sender.state == .changed { ... } else if sender.state == .ended { self.contentImageView.transform = CGAffineTransform.identity }