toe*_*mat 4 iphone xcode ios swift
当将AVPlayerViewController嵌入到仅纵向iOS应用程序中时,如果在设备保持横向放置的状态下全屏播放视频,则播放器退出全屏显示时,该应用程序可能会卡在怪异的布局中。
这是错误还是我做错了什么?
以下是使用Xcode 9.4.1,swift 4,iOS 11.4,模拟器或物理设备在干净项目中进行重现的方法。
ViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
//Create the player and add as child view controller
let playerVC = AVPlayerViewController()
self.addChildViewController(playerVC)
//Place player's view in self
playerVC.view.frame = CGRect(x: 10, y: 40, width: 355, height: 200)
self.view.addSubview(playerVC.view)
//Load example video
playerVC.player = AVPlayer(url: URL(string: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4")!)
}
Run Code Online (Sandbox Code Playgroud)
正常工作方式:
如何中断:
小智 5
当播放器保持全屏显示时,您将进入View Controller的viewWillApper。因此,在viewWillAppear中,尝试将窗口框架设置为等于屏幕边界。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
appDelegate.window?.rootViewController?.view.frame = UIScreen.main.bounds
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3387 次 |
| 最近记录: |