title: How to limit Max/Min Scale of Pinch Zoom in UIPinchGestureRecognizer
body: <p>How would I be able to limit the scale of the UIPinchGestureRecognizer to a min and max level? (not using UIScrollView)
  I would like to set max size as image width and hight.</p>
  
  <pre><code>var pichCenter : CGPoint!
  var touchPoint1 : CGPoint!
  var touchPoint2 : CGPoint!
  let maxScale : CGFloat = 1
  var pinchStartImageCenter : CGPoint!
  
  @objc func pinchAction(gesture: UIPinchGestureRecognizer) {
  
      if gesture.state == UIGestureRecognizerState.began {
  
          pinchStartImageCenter = imageView.center
          touchPoint1 = gesture.location(ofTouch: 0, in: self.view)
          touchPoint2 = gesture.location(ofTouch: 1, in: self.view)
  
  
          pichCenter = CGPoint(x: (touchPoint1.x + touchPoint2.x) / 2, y: (touchPoint1.y + touchPoint2.y) / 2)
  
      } else if gesture.state == UIGestureRecognizerState.changed {
  
          var pinchScale :  CGFloat
          if gesture.scale &gt; 1 {
              pinchScale = 1 + gesture.scale/100
          }else{
              pinchScale = gesture.scale
          }
          if pinchScale*self.imageView.frame.width &lt; editPhotoView.frame.width {
              pinchScale = editPhotoView.frame.width/self.imageView.frame.width
          }
          scaleZoomedInOut *= pinchScale
  
          let newCenter = CGPoint(x: pinchStartImageCenter.x - ((pichCenter.x - pinchStartImageCenter.x) * pinchScale - (pichCenter.x - pinchStartImageCenter.x)),y: pinchStartImageCenter.y - ((pichCenter.y - pinchStartImageCenter.y) * pinchScale - (pichCenter.y - pinchStartImageCenter.y)))
          self.imageView.frame.size = CGSize(width: pinchScale*self.imageView.frame.width, height: pinchScale*self.imageView.frame.height)
          imageView.center = newCenter
      }
  }
  </code></pre>