首页 > 解决方案 > 双击ios时禁用avplayer中的缩放效果

问题描述

嗨,在我的应用程序中,我正在使用 AvplayerViewcontroller 并在双击时在 AvplayerViewcontroller.view 上添加点击手势我想显示程序详细信息。我可以显示,但随着该视频正在缩放。我不想要那种缩放效果。即使我尝试通过禁用 avplayer 的 userInteraction 来禁用此功能,但那时甚至手势也没有采取用户操作(点击)。即使我在播放器视图上添加了另一个 uiview 并在其顶部添加了手势,但仍然没有用。请指导我如何解决此问题。

标签: iosuigesturerecognizeravplayer

解决方案


更新: @NareshGadamsetty 结帐。

如果showsPlaybackControls=false那么你可以简单地添加UITapGestureRecognizercontentOverlayView

class MyPlayerViewController: AVPlayerViewController, UIGestureRecognizerDelegate {

    func addPlayer()
        ...
        ...

        showsPlaybackControls=false

        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(showDetail))
        tapGesture.numberOfTapsRequired = 2
        contentOverlayView?.addGestureRecognizer(tapGesture)
    }

    func showDetail() {
        // Do whatever you want to do in this method
    }
}

否则执行UIGestureRecognizerDelegate

class MyPlayerViewController: AVPlayerViewController, UIGestureRecognizerDelegate {

    func addPlayer()
        ...
        ...
    }

    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
        if touch.tapCount == 2 {
            showDetail()
            return false
        }

        return true
    }

    private func showDetail() {
        // Do whatever you want to do in this method
    }

}

推荐阅读