こんにちはみんなスクロールビューで2ページの間をスワイプしようとしていますが、うまくいきますが、ビデオが再生されている間にスワイプしようとすると、私ViewControllersAVPlayerの実行中にUIScrollViewをスワイプすることはできません
MainVeiwControllerため
override func viewDidLoad() {
super.viewDidLoad()
scrollView.isPagingEnabled=true
let settings = SettingsViewController(nibName: "SettingsViewController", bundle: nil)
self.addChildViewController(settings)
self.scrollView.addSubview(settings.view)
settings.didMove(toParentViewController: self)
let diamond = DiamondViewController(nibName: "DiamondViewController", bundle: nil)
var frame1 = diamond.view.frame
frame1.origin.x = self.view.frame.size.width
diamond.view.frame=frame1
self.addChildViewController(diamond)
self.scrollView.addSubview(diamond.view)
diamond.didMove(toParentViewController: self)
self.scrollView.contentSize = CGSize(width: self.view.frame.size.width * 2, height: self.view.frame.size.height-70)
scrollView.contentOffset = CGPoint(x: scrollView.frame.size.width, y: 0)
}
第二のViewController
var playerViewController = AVPlayerViewController()
var playerView = AVPlayer()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
let fileURL = NSURL(fileURLWithPath: "PATHTOVIDEO")
playerView=AVPlayer(url: fileURL as URL)
playerViewController.showsPlaybackControls=false;
NotificationCenter.default.addObserver(forName: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerView.currentItem, queue: nil)
{ notification in
let t1 = CMTimeMake(1, 100);
self.playerView.seek(to: t1)
self.playerView.play()
}
playerViewController.player = playerView
self.present(playerViewController,animated:true){
self.playerViewController.player?.play()
}
}
私もビデオかかわらず、ページ間をスワイプすることができますどのように今、私が知りたいですI回避策などがあります
私はこの問題は、あなたが2番目のビューコントローラに追加し 'swipeRight'ジェスチャー認識だと思います。私の意見では、それはタッチをキャプチャし、スクロールビューがそれを処理することはありません。 –
その部分は試してみるだけでした。それ以外の場合は、ビデオ再生中にどちらの方法でも動作しません。 –
Ok。 問題はあなたが 'playerViewController'を提示していて、ビデオを再生しているときに新しい' UIWindow'に入っていて、もはや古いウィンドウに触れていないことです。 –