微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在后台.cs文件中设置ios:Page.UseSafeArea =“ true”

如何解决如何在后台.cs文件中设置ios:Page.UseSafeArea =“ true”

这是我的XAML代码

<t:headingViewBase
    xmlns ="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:t="clr-namespace:M.Templates"
    x:Name="ContentPage"
    xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOsspecific;assembly=Xamarin.Forms.Core"
    ios:Page.UseSafeArea="true"
    ios:Page.PrefersHomeIndicatorAutoHidden="true"

有人知道我如何在后台CS中将UseSafeArea设置为true吗?

这是我尝试过的:

    public headingView()
    {
        InitializeComponent();
        BindingContext = this;
        Xamarin.Forms.PlatformConfiguration.iOsspecific.Page.UsingSafeArea = true;
        Xamarin.Forms.PlatformConfiguration.iOsspecific.Page.PrefersHomeIndicatorAutoHidden = true;
    }

但是它给了我错误消息:

/Users/r/Projects/M1/M/Templates/Pages/headingView.xaml.cs(13,13): 错误CS1656:由于它是一种“方法”,因此无法分配给“ UsingSafeArea” 组”(CS1656)

/Users/r/Projects/M1/M/Templates/Pages/headingView.xaml.cs(13,13): 错误CS1656:无法分配给“ PrefersHomeIndicatorAutoHidden” 因为它是一个方法组”(CS1656)

解决方法

平台细节定义为通过(静态)BindableProperty进行的扩展,因此可以通过XAML以及静态的GetXXXX和SetXXXX扩展用于代码使用。

因此,UseSafeArea被定义为Page类扩展,因此

yourPageInstance.On<iOS>.SetUseSafeArea(true);
var safeAreaValue = yourPageInstance.On<iOS>.GetUseSafeArea();

re:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/platform-specifics/#consuming-the-platform-specific

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。