Xamarin 表单 - 将所有页面的 SetUseSafeArea 全局设置为 true

tay*_*yab 6 ios xamarin.forms

在 xamarin 形式中,您可以使用

On<iOS>().SetUseSafeArea(true);

这将确保您的视图不会显示在任何凹口/不安全区域上。

我想知道是否有任何方法可以全局设置它,这样我就不必在每个内容页面中不断添加该行代码。

首选没有自定义渲染器的解决方案(除非这是实现它的唯一方法)

Col*_*SFT 6

唯一的方法是在 Page 的自定义渲染器中启用安全区域。

[assembly: ExportRenderer(typeof(Xamarin.Forms.Page), typeof(MyRenderer))]
namespace App1.iOS
{
    class MyRenderer :PageRenderer
    {

        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            var page = Element as Xamarin.Forms.Page;

            page.On<Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)