fill on rotate if necessary

This commit is contained in:
Ethan Pippin 2022-01-19 00:38:58 -07:00
parent 6fa2b914d6
commit df73265df3
1 changed files with 9 additions and 4 deletions

View File

@ -29,6 +29,7 @@ class VLCPlayerViewController: UIViewController {
private var viewModelListeners = Set<AnyCancellable>()
private var overlayDismissTimer: Timer?
private var isScreenFilled: Bool = false
private var pinchScale: CGFloat = 1
private var currentPlayerTicks: Int64 {
Int64(vlcMediaPlayer.time.intValue) * 100_000
@ -143,6 +144,13 @@ class VLCPlayerViewController: UIViewController {
startPlayback()
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
if isScreenFilled {
fillScreen(screenSize: size)
}
super.viewWillTransition(to: size, with: coordinator)
}
// MARK: subviews
private func makeVideoContentView() -> UIView {
@ -193,8 +201,6 @@ class VLCPlayerViewController: UIViewController {
self.didSelectBackward()
}
private var pinchScale: CGFloat = 1
@objc
private func didPinch(_ gestureRecognizer: UIPinchGestureRecognizer) {
if gestureRecognizer.state == .began || gestureRecognizer.state == .changed {
@ -847,8 +853,7 @@ extension VLCPlayerViewController: PlayerOverlayDelegate {
}
}
private func fillScreen() {
let screenSize = UIScreen.main.bounds.size
private func fillScreen(screenSize: CGSize = UIScreen.main.bounds.size) {
let videoSize = vlcMediaPlayer.videoSize
let fillSize = CGSize.aspectFill(aspectRatio: videoSize, minimumSize: screenSize)