Průvodce rozložením oblasti Sejf v iOSu

Download Sample Stažení ukázky

Tato platforma pro iOS se používá k zajištění umístění obsahu stránky do oblasti obrazovky, která je bezpečná pro všechna zařízení, která používají iOS 11 a vyšší. Konkrétně vám pomůže zajistit, aby obsah nebyl oříznutý zaoblenými rohy zařízení, indikátorem domů nebo krytem snímače na i Telefon X. Využívá se v XAML nastavením Page.UseSafeArea připojené vlastnosti na boolean hodnotu:

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

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:

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

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

Metoda Page.On<iOS> určuje, že se tato platforma bude spouštět pouze v iOSu. Metoda Page.SetUseSafeArea v Xamarin.Forms.PlatformConfiguration.iOSSpecific oboru názvů určuje, zda je povolen průvodce rozložením bezpečné oblasti.

Výsledkem je, že obsah stránky lze umístit do oblasti obrazovky, která je bezpečná pro všechny i Telefon s:

Safe Area Layout Guide

Poznámka:

Bezpečná oblast definovaná společností Apple se používá Xamarin.Forms k nastavení Page.Padding vlastnosti a přepíše všechny předchozí hodnoty této vlastnosti, které byly nastaveny.

Bezpečnou oblast lze přizpůsobit načtením jeho Thickness hodnoty metodou Page.SafeAreaInsets z Xamarin.Forms.PlatformConfiguration.iOSSpecific oboru názvů. Potom ho můžete upravit podle potřeby a znovu přiřadit k Padding vlastnosti v přepsání OnAppearing :

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

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