iOS 11 AVPlayerViewController 禁用捏合/拖动手势

标签 ios swift ios11 avplayerviewcontroller

我有一个 AVPlayerViewController 设置来播放视频,我在自定义 View Controller 中嵌入了 VC 的 View 。

但是如果他们的用户尝试他们可以通过 2 个手指抓取来移动视频。我该如何禁用它?谢谢!

见下文:

Example of issue

最佳答案

更安全的做法:

    let recognizers: [UIGestureRecognizer] = view.subviews.first?.gestureRecognizers ?? []
    for (idx, recognizer) in recognizers.enumerated() {
        if recognizer is UIPinchGestureRecognizer || recognizer is UIPanGestureRecognizer {
            positions.append(idx)
        }
    }
    for position in positions.reversed() {
        view.subviews.first?.gestureRecognizers?.remove(at: position)
    }

如果您不使用 positions.reversed() 应用程序可能会在删除第一个项目并且调整数组大小时崩溃。

关于iOS 11 AVPlayerViewController 禁用捏合/拖动手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464286/

相关文章:

ios - 在iOS 13中读取NFC卡的UID

iOS 7 添加了向右滑动以从堆栈中弹出 View Controller 。是否可以通过向左滑动将其添加回去?

ios - 在 native 应用程序中访问 package.json 版本和构建变量的最佳方法?

ios - 如何禁用选项卡栏项目的选择 - swift

arrays - 按数字顺序在数组中插入 Int

swift - 在 iOS 11.4 上隐藏导航后退按钮

ios - 尽管有启动屏幕文件,为什么还需要启动图像?

ios - EXC_BAD_ACCESS 在 Swift 中使用泛型

iOS 11 NSPredicate 搜索 Swift 数组崩溃 - NSUnknownKeyException

ios - 如何在 swift 2 中创建单选复选框?