0

I am trying to zoom image view inside a UIView, but it zoom outside the UIView. Condition : without using scrollview

here is my code :

extension UIImageView {
  func enableZoom() {
    let pinchGesture = UIPinchGestureRecognizer(target: self, action: #selector(startZooming(_:)))
    isUserInteractionEnabled = true
    addGestureRecognizer(pinchGesture)
  }

  @objc
  private func startZooming(_ sender: UIPinchGestureRecognizer) {
    let scaleResult = sender.view?.transform.scaledBy(x: sender.scale, y: sender.scale)
    guard let scale = scaleResult, scale.a > 1, scale.d > 1 else { return }
    sender.view?.transform = scale
    sender.scale = 1
  }
}






lazy var ImgView : UIImageView = {
        let i = UIImageView()
        i.enableZoom()
        return i
    }()

lazy var topView : UIView = { let c = UIView() return c }()

in viewdidload

self.view.layout(self.ImgView).top(90).left().right().height(topViewHeight)
  self.topView = self. ImgView
DSRawat
  • 87
  • 1
  • 9
  • You can check the answer and follow the steps given https://stackoverflow.com/questions/66491448/want-to-restrict-area-of-pan-gesture-on-one-imageview-swift-5 – Hetali Adhia Nov 15 '22 at 05:15

0 Answers0