protected CGRect AdjustForSafeArea(CGRect bounds) { if (View is not ISafeAreaView sav || sav.IgnoreSafeArea || !RespondsToSafeArea()) { return(bounds); } return(SafeAreaInsets.InsetRect(bounds)); }
protected CGRect AdjustForSafeArea(CGRect bounds) { if (View is not ISafeAreaView sav || sav.IgnoreSafeArea || !RespondsToSafeArea()) { return(bounds); } #pragma warning disable CA1416 // TODO 'UIView.SafeAreaInsets' is only supported on: 'ios' 11.0 and later, 'maccatalyst' 11.0 and later, 'tvos' 11.0 and later. return(SafeAreaInsets.InsetRect(bounds)); #pragma warning restore CA1416 }
public static void SetInsets(BindableObject view, SafeAreaInsets value) { view.SetValue(InsetsProperty, value); }
private static Thickness CombineInset(Thickness defaultPadding, Thickness safeInset, SafeAreaInsets safeAreaInsets) { var result = new Thickness(defaultPadding.Left, defaultPadding.Top, defaultPadding.Right, defaultPadding.Bottom); if (safeAreaInsets != SafeAreaInsets.None) { if (safeAreaInsets.HasFlag(SafeAreaInsets.All)) { result.Left += safeInset.Left; result.Top += safeInset.Top; result.Right += safeInset.Right; result.Bottom += safeInset.Bottom; } else { if (safeAreaInsets.HasFlag(SafeAreaInsets.Left)) { result.Left += safeInset.Left; } if (safeAreaInsets.HasFlag(SafeAreaInsets.Top)) { result.Top += safeInset.Top; } if (safeAreaInsets.HasFlag(SafeAreaInsets.Right)) { result.Right += safeInset.Right; } if (safeAreaInsets.HasFlag(SafeAreaInsets.Bottom)) { result.Bottom += safeInset.Bottom; } } } return(result); }