|
@@ -125,27 +125,17 @@ public class MediaContentView: UIScrollView {
|
|
|
return container
|
|
|
}()
|
|
|
|
|
|
- private lazy var singleTapGestureRecognizer: UITapGestureRecognizer = { [unowned self] in
|
|
|
- let gesture = UITapGestureRecognizer(target: self, action: #selector(didSingleTap(_:)))
|
|
|
- gesture.numberOfTapsRequired = 1
|
|
|
- gesture.numberOfTouchesRequired = 1
|
|
|
- return gesture
|
|
|
- }()
|
|
|
-
|
|
|
private lazy var doubleTapGestureRecognizer: UITapGestureRecognizer = { [unowned self] in
|
|
|
let gesture = UITapGestureRecognizer(target: self, action: #selector(didDoubleTap(_:)))
|
|
|
gesture.numberOfTapsRequired = 2
|
|
|
gesture.numberOfTouchesRequired = 1
|
|
|
return gesture
|
|
|
}()
|
|
|
-
|
|
|
- private var mediaBrowserViewControllerDelegate: MediaBrowserViewControllerDelegate?
|
|
|
|
|
|
- init(index itemIndex: Int, position: CGFloat, frame: CGRect, delegate: MediaBrowserViewControllerDelegate?) {
|
|
|
+ init(index itemIndex: Int, position: CGFloat, frame: CGRect) {
|
|
|
|
|
|
self.index = itemIndex
|
|
|
self.position = position
|
|
|
- self.mediaBrowserViewControllerDelegate = delegate
|
|
|
|
|
|
super.init(frame: frame)
|
|
|
|
|
@@ -171,12 +161,8 @@ extension MediaContentView {
|
|
|
|
|
|
configureScrollView()
|
|
|
|
|
|
- addGestureRecognizer(singleTapGestureRecognizer)
|
|
|
-
|
|
|
addGestureRecognizer(doubleTapGestureRecognizer)
|
|
|
|
|
|
- singleTapGestureRecognizer.require(toFail: doubleTapGestureRecognizer)
|
|
|
-
|
|
|
updateTransform()
|
|
|
}
|
|
|
|
|
@@ -244,27 +230,6 @@ extension MediaContentView {
|
|
|
contentSize = imageView.frame.size
|
|
|
}
|
|
|
|
|
|
- @objc private func didSingleTap(_ recognizer: UITapGestureRecognizer) {
|
|
|
-
|
|
|
- if zoomScale != 1 {
|
|
|
-
|
|
|
- let locationInImage = recognizer.location(in: imageView)
|
|
|
- let width = bounds.size.width
|
|
|
- let height = bounds.size.height
|
|
|
-
|
|
|
- let zoomRect = CGRect(
|
|
|
- x: locationInImage.x - width * 0.5,
|
|
|
- y: locationInImage.y - height * 0.5,
|
|
|
- width: width,
|
|
|
- height: height
|
|
|
- )
|
|
|
-
|
|
|
- zoom(to: zoomRect, animated: true)
|
|
|
- }
|
|
|
-
|
|
|
- self.mediaBrowserViewControllerDelegate?.mediaBrowserTap(self)
|
|
|
- }
|
|
|
-
|
|
|
@objc private func didDoubleTap(_ recognizer: UITapGestureRecognizer) {
|
|
|
|
|
|
let locationInImage = recognizer.location(in: imageView)
|