68b9db4d11
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
19 lines
654 B
Swift
19 lines
654 B
Swift
// Source: http://stackoverflow.com/a/3732812/1123156
|
|
|
|
extension UIView {
|
|
func firstAvailableUIViewController() -> UIViewController? {
|
|
// convenience function for casting and to "mask" the recursive function
|
|
return traverseResponderChainForUIViewController()
|
|
}
|
|
|
|
func traverseResponderChainForUIViewController() -> UIViewController? {
|
|
if let nextUIViewController = next as? UIViewController {
|
|
return nextUIViewController
|
|
} else if let nextUIView = next as? UIView {
|
|
return nextUIView.traverseResponderChainForUIViewController()
|
|
} else {
|
|
return nil
|
|
}
|
|
}
|
|
}
|