     decelerationRate = UIScrollViewDecelerationRateFast
     addSubview(imageView)
 
-    let doubleTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleDoubleTap))
+    let doubleTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleDoubleTap(_:)))
     doubleTapGesture.numberOfTapsRequired = 2
     addGestureRecognizer(doubleTapGesture)
   }

    imageView.center = contentCenter(forBoundingSize: bounds.size, contentSize: contentSize)
  }

  @objc private func handleDoubleTap() {
    if self.zoomScale == 1 {
      setZoomScale(max(1, maximumZoomScale / 3), animated: true)
    } else {
      setZoomScale(1, animated: true)
    }
  }

  // MARK: - UIScrollViewDelegate


  // MARK: - Properties

  public let imageView = UIImageView()

  public var zoomMode: ZoomMode = .fit {
    didSet {
