diff --git a/packages/react-native-video/ios/view/VideoComponentViewObserver.swift b/packages/react-native-video/ios/view/VideoComponentViewObserver.swift index 2b36c813..b6d4f936 100644 --- a/packages/react-native-video/ios/view/VideoComponentViewObserver.swift +++ b/packages/react-native-video/ios/view/VideoComponentViewObserver.swift @@ -136,6 +136,11 @@ class VideoComponentViewObserver: NSObject, AVPlayerViewControllerDelegate { guard let self = self else { return } if context.isCancelled { + // iOS bug: window.isUserInteractionEnabled is left as false after cancelled fullscreen dismiss + if let window = self.playerViewController?.view.window, !window.isUserInteractionEnabled { + window.isUserInteractionEnabled = true + } + self.delegate?.willEnterFullscreen() return @@ -155,6 +160,11 @@ class VideoComponentViewObserver: NSObject, AVPlayerViewControllerDelegate { guard let self = self else { return } if context.isCancelled { + // iOS bug: window.isUserInteractionEnabled is left as false after cancelled fullscreen transition + if let window = self.playerViewController?.view.window, !window.isUserInteractionEnabled { + window.isUserInteractionEnabled = true + } + self.delegate?.willExitFullscreen() return