In AVPlayerViewController
there is a feature for stopping the playback of a video and closing the AVPlayerViewController
by swiping its view.
I want to disable this feature. I guess I need to disable a gesture recognizer!?
But I don't know how to do this for the player.
I recently stumbled upon a similar problem. You can access the gesture recognizers from the contentView
of AVPlayerViewController
.
If you wanted to keep only the tap gesture recognizer, you might want to use a function like this:
extension AVPlayerViewController {
func disableGestureRecognition() {
let contentView = view.value(forKey: "contentView") as? UIView
contentView?.gestureRecognizers = contentView?.gestureRecognizers?.filter { $0 is UITapGestureRecognizer }
}
}
Removing gestures didn't worked for me. Adding a new UIPanGestureRecognizer
without any action worked.
extension AVPlayerViewController {
func disableGesture() {
let panGesture = UIPanGestureRecognizer(target: self, action: nil)
self.view.addGestureRecognizer(panGesture)
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.