internal static UIEdgeInsets GetSafeAreaInsetsForWindow(this UIApplication application) { UIEdgeInsets safeAreaInsets; if (!OperatingSystem.IsIOSVersionAtLeast(11)) { safeAreaInsets = new UIEdgeInsets(UIApplication.SharedApplication.StatusBarFrame.Size.Height, 0, 0, 0); } else if (application.GetKeyWindow() is UIWindow keyWindow) { safeAreaInsets = keyWindow.SafeAreaInsets; } #pragma warning disable CA1416 // TODO: 'UIApplication.Windows' is unsupported on: 'ios' 15.0 and later. else if (application.Windows.Length > 0) { safeAreaInsets = application.Windows[0].SafeAreaInsets; } #pragma warning restore CA1416 else { safeAreaInsets = UIEdgeInsets.Zero; } return(safeAreaInsets); }
public static IWindow?GetWindow(this UIApplication application) { if (MauiUIApplicationDelegate.Current.VirtualWindow != null) { return(MauiUIApplicationDelegate.Current.VirtualWindow); } var nativeWindow = application.GetKeyWindow(); foreach (var window in MauiUIApplicationDelegate.Current.Application.Windows) { if (window?.Handler?.NativeView is UIWindow win && win == nativeWindow) { return(window); } } return(null); }
internal static UIEdgeInsets GetSafeAreaInsetsForWindow(this UIApplication application) { UIEdgeInsets safeAreaInsets; if (!OperatingSystem.IsIOSVersionAtLeast(11)) { safeAreaInsets = new UIEdgeInsets(UIApplication.SharedApplication.StatusBarFrame.Size.Height, 0, 0, 0); } else if (application.GetKeyWindow() is UIWindow keyWindow) { safeAreaInsets = keyWindow.SafeAreaInsets; } else if (application.Windows.Length > 0) { safeAreaInsets = application.Windows[0].SafeAreaInsets; } else { safeAreaInsets = UIEdgeInsets.Zero; } return(safeAreaInsets); }
public static IWindow?GetWindow(this UIApplication application) => application.GetKeyWindow().GetWindow();