diff --git a/modules/expo-bluesky-context-menu/ios/ExpoBlueskyContextMenuView.swift b/modules/expo-bluesky-context-menu/ios/ExpoBlueskyContextMenuView.swift index 35b89f4838..19acc10ede 100644 --- a/modules/expo-bluesky-context-menu/ios/ExpoBlueskyContextMenuView.swift +++ b/modules/expo-bluesky-context-menu/ios/ExpoBlueskyContextMenuView.swift @@ -29,7 +29,7 @@ class ExpoBlueskyContextMenuView: ExpoView, UIContextMenuInteractionDelegate { override var bounds: CGRect { get { let b = super.bounds - let s = UIScreen.main.scale + let s = self.window?.screen.scale ?? UIScreen.main.scale return CGRect( x: b.origin.x, y: b.origin.y, diff --git a/modules/expo-bluesky-context-menu/ios/ImagePreviewController.swift b/modules/expo-bluesky-context-menu/ios/ImagePreviewController.swift index 29aab212d6..7800952c53 100644 --- a/modules/expo-bluesky-context-menu/ios/ImagePreviewController.swift +++ b/modules/expo-bluesky-context-menu/ios/ImagePreviewController.swift @@ -86,9 +86,11 @@ final class ImagePreviewController: UIViewController { /// Caps the preview to a comfortable size within the current key window. private static func sizeForAspect(_ aspect: CGFloat) -> CGSize { - let screen = UIScreen.main.bounds - let maxW = screen.width - 32 - let maxH = screen.height * 0.7 + let screenBounds = UIApplication.shared.connectedScenes + .compactMap { $0 as? UIWindowScene } + .first?.screen.bounds ?? UIScreen.main.bounds + let maxW = screenBounds.width - 32 + let maxH = screenBounds.height * 0.7 var w = maxW var h = w / aspect if h > maxH {