共用方式為


iOS 上的 保管庫 區域配置指南

此 iOS 平臺特定是用來確保頁面內容位於螢幕區域,該區域適用於所有使用 iOS 11 及更新版本的裝置。 具體來說,它將有助於確保內容不會由圓角、家庭指示器或 i 電話 X 上的感測器住房裁剪。將附加屬性設定Page.UseSafeAreaboolean值,以在 XAML 中取用:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             Title="Safe Area"
             ios:Page.UseSafeArea="true">
    <StackLayout>
        ...
    </StackLayout>
</ContentPage>

或者,您可以使用 Fluent API 從 C# 取用它:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

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

方法 Page.On<iOS> 會指定此平台專屬只會在iOS上執行。 在 Page.SetUseSafeArea 命名空間中 Xamarin.Forms.PlatformConfiguration.iOSSpecific ,方法會控制是否啟用安全區域配置指南。

結果是頁面內容可以放置在所有 i 電話 安全畫面的區域:

安全區域版面配置輔助線

注意

Apple 定義的安全區域用於 Xamarin.Forms 設定 Page.Padding 屬性,並會覆寫已設定之此屬性的任何先前值。

您可以從 命名空間使用 Page.SafeAreaInsets 方法Xamarin.Forms.PlatformConfiguration.iOSSpecific擷取其Thickness值,以自定義安全區域。 然後,您可以視需要修改它,並在覆寫中OnAppearing重新指派給 Padding 屬性:

protected override void OnAppearing()
{
    base.OnAppearing();

    var safeInsets = On<iOS>().SafeAreaInsets();
    safeInsets.Left = 20;
    Padding = safeInsets;
}