Przewodnik po układzie bezpiecznego obszaru w systemie iOS
Ta platforma systemu iOS służy do zapewnienia, że zawartość strony jest umieszczona w obszarze ekranu, który jest bezpieczny dla wszystkich urządzeń korzystających z systemu iOS 11 i nowszych. W szczególności pomoże to upewnić się, że zawartość nie jest obcięta przez zaokrąglone rogi urządzenia, wskaźnik domu lub obudowa czujnika na iPhone X. Jest on używany w języku XAML przez ustawienie dołączonej Page.UseSafeArea
boolean
właściwości na wartość:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Safe Area"
ios:Page.UseSafeArea="true">
<StackLayout>
...
</StackLayout>
</ContentPage>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
On<iOS>().SetUseSafeArea(true);
Metoda Page.On<iOS>
określa, że ta platforma będzie działać tylko w systemie iOS. Metoda Page.SetUseSafeArea
w Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw określa, czy jest włączony przewodnik układu bezpiecznego obszaru.
Wynikiem jest to, że zawartość strony może być umieszczona na obszarze ekranu, który jest bezpieczny dla wszystkich telefonów iPhone:
Uwaga
Bezpieczny obszar zdefiniowany przez firmę Apple jest używany do Xamarin.Forms ustawiania Page.Padding
właściwości i zastąpi wszystkie poprzednie wartości tej właściwości, które zostały ustawione.
Bezpieczny obszar można dostosować, pobierając jego Thickness
wartość za Page.SafeAreaInsets
pomocą metody z Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw. Następnie można ją zmodyfikować zgodnie z wymaganiami i ponownie przypisać do Padding
właściwości w zastąpieniu OnAppearing
:
protected override void OnAppearing()
{
base.OnAppearing();
var safeInsets = On<iOS>().SafeAreaInsets();
safeInsets.Left = 20;
Padding = safeInsets;
}