From 5d75b482952a9cd3e5f59237e302137857739d4e Mon Sep 17 00:00:00 2001 From: Jianlong-Nie Date: Sun, 2 Nov 2025 18:38:01 +0800 Subject: [PATCH] fix(iOS): use top-most presented view controller for fullscreen presentation on iOS (#4753) --- ios/Video/RCTVideo.swift | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) 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