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

标签 ios xamarin.forms

在 xamarin 表单中,您可以使用On<iOS>().SetUseSafeArea(true);这将确保您的 View 不会显示在任何缺口/不安全区域上。
我想知道是否有任何方法可以全局设置它,这样我就不必在每个内容页面中继续添加该行代码。
首选没有自定义渲染器的解决方案(除非这是可以实现的唯一方法)

最佳答案

唯一的方法是在 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);
        }

    }
}

关于ios - Xamarin 表单 - 将所有页面的 SetUseSafeArea 全局设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63260101/

相关文章:

android - 在 Flutter ListView 中只重建一行?

c# - Xamarin.Forms iOS 的 Xamarin.Behaviors

c# - Xamarin 表单 - GetBindingExpression

xaml - Xamarin TapGestureRecognizer 有时无法正常工作

c# - Xamarin Forms,使用异步来应用 ListView ItemSource

ios - Cordova 文件数据目录远离 iOS 应用程序更新的变化

ios - 根据 iPhone 上的内容设置 webview 的动态高度

ios - 将 JSON 数据绑定(bind)到 TableView 和 CollectionView

ios - 如何在 Interface builder 的 UIView 中正确添加带有原型(prototype)单元的 UITableView?

c# - 链接时 IAuthenticationHandler 出现错误 XA2006