AVPlayerViewController滑动UISwipeGestureRecognizer.up不起作用Xcode 12 tvOS 14

问题描述

我们刚刚将Xcode更新到了版本12,除其他外,我们发现将UISwipeGestureRecognizer.up设置为AVPlayerViewController时遇到了问题。我们使用该手势来显示自定义频道更改器视图。它正在Xcode 11.7和tvOS 13上工作的主要问题。

此外,我已经调试了AVPlayerViewController.view的gestureRecognisers,并且没有UISwipeGestureRecognizer。

这是我正在使用的代码

import UIKit
import AVKit

class ViewController: UIViewController {

    private var playerViewController: AVPlayerViewController? {
        didSet {
            guard let playerViewController = playerViewController else {
                return
            }
            
            playerViewController.view.isUserInteractionEnabled = true
            
            let swipeGesture = UISwipeGestureRecognizer(target: self,action: #selector(testGestureResponse))
            //swipeGesture.direction = .up // Not working
            //swipeGesture.direction = .left
            //swipeGesture.direction = .down
            swipeGesture.direction = .right
            
            playerViewController.view.addGestureRecognizer(swipeGesture)
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

        playerViewController = AVPlayerViewController()
        let playerViewController = self.playerViewController!
        
        playerViewController.willMove(toParent: self)
        view.addSubview(playerViewController.view)
        playerViewController.view.frame = view.frame
        addChild(playerViewController)
        playerViewController.didMove(toParent: self)
        
        playerViewController.player = AVPlayer(url: URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8")!)
        playerViewController.player?.play()
    }

    
    @objc func testGestureResponse(gesture: UIGestureRecognizer) {
        print("Hello!!!")
    }

}

现在有其他方法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)