Průvodce rozložením bezpečné oblasti v iOSu
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 pouzdrem snímače na iPhonu 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 iPhony:
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;
}