iOS Swift Conversion (#2527)
Converts iOS implementation from Objective-c to Swift # During the conversion process some updates to the code structure were also made - Modularize codebase from single file to smaller focused files - Untangled large nested IF statements - Added more null checks, since Swift is more strict with null pointers - Added property to allow for decoding of local video sources with self contained key for offline playback - Updates example apps to test react-native 0.63.4 and uses auto native dependency imports for android and ios
This commit is contained in:
44
ios/Video/RCTVideoPlayerViewController.swift
Normal file
44
ios/Video/RCTVideoPlayerViewController.swift
Normal file
@@ -0,0 +1,44 @@
|
||||
import AVKit
|
||||
|
||||
class RCTVideoPlayerViewController: AVPlayerViewController {
|
||||
|
||||
var rctDelegate:RCTVideoPlayerViewControllerDelegate!
|
||||
|
||||
// Optional paramters
|
||||
var preferredOrientation:String?
|
||||
var autorotate:Bool?
|
||||
|
||||
func shouldAutorotate() -> Bool {
|
||||
|
||||
if autorotate! || preferredOrientation == nil || (preferredOrientation!.lowercased() == "all") {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
override func viewDidDisappear(_ animated: Bool) {
|
||||
super.viewDidDisappear(animated)
|
||||
rctDelegate.videoPlayerViewControllerWillDismiss(playerViewController: self)
|
||||
rctDelegate.videoPlayerViewControllerDidDismiss(playerViewController: self)
|
||||
}
|
||||
|
||||
#if !TARGET_OS_TV
|
||||
|
||||
func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
|
||||
return .all
|
||||
}
|
||||
|
||||
func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation {
|
||||
if preferredOrientation?.lowercased() == "landscape" {
|
||||
return .landscapeRight
|
||||
} else if preferredOrientation?.lowercased() == "portrait" {
|
||||
return .portrait
|
||||
} else {
|
||||
// default case
|
||||
let orientation = UIApplication.shared.statusBarOrientation
|
||||
return orientation
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user