Make AVPlayer to full screen view in AVPlayerViewController, Swift
For adding AVPlayer to a view, I make a CALayer from it like this:
let playerLayer = AVPlayerLayer(player: player)
Then you need to add this layer to a view, for example, if you wrote that code in a ViewController, then you can do this:
self.view.layer.addSublayer(playerLayer)
Next, make sure that this layer is as big as the parent ViewController:
playerLayer.frame = self.view.layer.bounds
And now, you can choose any of these options to how to resize your video. Here, I used .resize
assuming aspect ratio of video and the screen are the same
playerLayer.videoGravity = AVLayerVideoGravity.resize
I'd recommend following solution without adding extra layer:
in your ViewController: AVPlayerViewController in viewDidLoad()
just set
videoGravity = .resizeAspectFill
According to documentation:
The video gravity determines how the video content is scaled or stretched within the bounds of the player view controller’s view. The player view controller supports the following video gravity values:
- resizeAspect
- resizeAspectFill
- resize
The default value is resizeAspect.