안녕하세요 여러분, 스크롤 뷰를 통해 두 페이지 사이를 스 와이프하려고하는데 잘 작동하지만 동영상이 재생되는 동안 스 와이프하려고하면 여기에서 작동하지 않습니다. 내 ViewController에 대한 코드입니다.
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()
}
}
이제 제가 알고 싶은 것은 비디오가 재생되는 경우에도 페이지 사이를 스 와이프 할 수있는 방법입니다.
AVPlayerViewController
그것을 제시하는 대신 SecondViewController 에 임베드하십시오 .
코드 예 :
let url = // whatever
let player = AVPlayer(URL:url)
let av = AVPlayerViewController()
av.player = player
av.view.frame = // whatever
self.addChildViewController(av)
self.view.addSubview(av.view)
av.didMoveToParentViewController(self)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다