|
@@ -81,7 +81,7 @@ public protocol MediaBrowserViewControllerDelegate: class {
|
|
*/
|
|
*/
|
|
func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, didChangeFocusTo index: Int, view: MediaContentView)
|
|
func mediaBrowser(_ mediaBrowser: MediaBrowserViewController, didChangeFocusTo index: Int, view: MediaContentView)
|
|
|
|
|
|
- func mediaBrowserTap(_ view: MediaContentView)
|
|
|
|
|
|
+ func mediaBrowserTap(_ mediaBrowser: MediaBrowserViewController)
|
|
|
|
|
|
func mediaBrowserDismiss()
|
|
func mediaBrowserDismiss()
|
|
}
|
|
}
|
|
@@ -217,6 +217,15 @@ public class MediaBrowserViewController: UIViewController {
|
|
|
|
|
|
public var contentViews: [MediaContentView] = []
|
|
public var contentViews: [MediaContentView] = []
|
|
|
|
|
|
|
|
+ lazy private var tapGestureRecognizer: UITapGestureRecognizer = { [unowned self] in
|
|
|
|
+ let gesture = UITapGestureRecognizer()
|
|
|
|
+ gesture.numberOfTapsRequired = 1
|
|
|
|
+ gesture.numberOfTouchesRequired = 1
|
|
|
|
+ gesture.delegate = self
|
|
|
|
+ gesture.addTarget(self, action: #selector(tapGestureEvent(_:)))
|
|
|
|
+ return gesture
|
|
|
|
+ }()
|
|
|
|
+
|
|
private var previousTranslation: CGPoint = .zero
|
|
private var previousTranslation: CGPoint = .zero
|
|
|
|
|
|
private var timer: Timer?
|
|
private var timer: Timer?
|
|
@@ -323,6 +332,7 @@ extension MediaBrowserViewController {
|
|
populateContentViews()
|
|
populateContentViews()
|
|
|
|
|
|
view.addGestureRecognizer(panGestureRecognizer)
|
|
view.addGestureRecognizer(panGestureRecognizer)
|
|
|
|
+ view.addGestureRecognizer(tapGestureRecognizer)
|
|
}
|
|
}
|
|
|
|
|
|
override public func viewDidAppear(_ animated: Bool) {
|
|
override public func viewDidAppear(_ animated: Bool) {
|
|
@@ -370,8 +380,7 @@ extension MediaBrowserViewController {
|
|
let mediaView = MediaContentView(
|
|
let mediaView = MediaContentView(
|
|
index: i + index,
|
|
index: i + index,
|
|
position: CGFloat(i),
|
|
position: CGFloat(i),
|
|
- frame: view.bounds,
|
|
|
|
- delegate: self.delegate
|
|
|
|
|
|
+ frame: view.bounds
|
|
)
|
|
)
|
|
mediaContainerView.addSubview(mediaView)
|
|
mediaContainerView.addSubview(mediaView)
|
|
mediaView.translatesAutoresizingMaskIntoConstraints = false
|
|
mediaView.translatesAutoresizingMaskIntoConstraints = false
|
|
@@ -472,6 +481,15 @@ extension MediaBrowserViewController {
|
|
|
|
|
|
previousTranslation = translation
|
|
previousTranslation = translation
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @objc private func tapGestureEvent(_ recognizer: UITapGestureRecognizer) {
|
|
|
|
+
|
|
|
|
+ guard !dismissController.interactionInProgress else {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ self.delegate?.mediaBrowserTap(self)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
// MARK: - Updating View Positions
|
|
// MARK: - Updating View Positions
|