diff --git a/ios/Video/RCTVideo.swift b/ios/Video/RCTVideo.swift index ac4232ce..9e6ddf30 100644 --- a/ios/Video/RCTVideo.swift +++ b/ios/Video/RCTVideo.swift @@ -1090,15 +1090,9 @@ class RCTVideo: UIView, RCTVideoPlayerViewControllerDelegate, RCTPlayerObserverH _playerViewController?.modalPresentationStyle = .fullScreen // Find the nearest view controller - var viewController: UIViewController! = self.firstAvailableUIViewController() - if viewController == nil { - guard let keyWindow = RCTVideoUtils.getCurrentWindow() else { return } - - viewController = keyWindow.rootViewController - if !viewController.children.isEmpty { - viewController = viewController.children.last - } - } + var viewController: UIViewController! = RCTPresentedViewController() ?? RCTKeyWindow()?.rootViewController + guard viewController != nil else { return } + while let presented = viewController.presentedViewController { viewController = presented } if viewController != nil { _presentingViewController = viewController