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