Пример #1
0
        protected CGRect AdjustForSafeArea(CGRect bounds)
        {
            if (View is not ISafeAreaView sav || sav.IgnoreSafeArea || !RespondsToSafeArea())
            {
                return(bounds);
            }

            return(SafeAreaInsets.InsetRect(bounds));
        }
Пример #2
0
        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
        }
Пример #3
0
 public static void SetInsets(BindableObject view, SafeAreaInsets value)
 {
     view.SetValue(InsetsProperty, value);
 }
Пример #4
0
        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);
        }