Guida al layout dell'area sicura in iOS
Questo specifico della piattaforma iOS viene usato per garantire che il contenuto della pagina sia posizionato in un'area dello schermo sicura per tutti i dispositivi che usano iOS 11 e versioni successive. In particolare, aiuterà a assicurarsi che il contenuto non venga ritagliato da angoli arrotondati del dispositivo, l'indicatore home o l'alloggiamento del sensore in un iPhone X. Viene utilizzato in XAML impostando la Page.UseSafeArea
proprietà associata su un boolean
valore:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Safe Area"
ios:Page.UseSafeArea="true">
<StackLayout>
...
</StackLayout>
</ContentPage>
In alternativa, può essere usato da C# usando l'API Fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
On<iOS>().SetUseSafeArea(true);
Il Page.On<iOS>
metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il Page.SetUseSafeArea
metodo, nello spazio dei nomi, controlla se la guida al layout dell'area Xamarin.Forms.PlatformConfiguration.iOSSpecific
sicura è abilitata.
Il risultato è che il contenuto della pagina può essere posizionato su un'area dello schermo sicura per tutti iPhone:
Nota
L'area sicura definita da Apple viene usata in Xamarin.Forms per impostare la proprietà ed eseguirà l'override Page.Padding
di tutti i valori precedenti di questa proprietà impostata.
L'area sicura può essere personalizzata recuperandone Thickness
il valore con il Page.SafeAreaInsets
metodo dallo spazio dei Xamarin.Forms.PlatformConfiguration.iOSSpecific
nomi . Può quindi essere modificato in base alle esigenze e riassegnare alla Padding
proprietà nell'override OnAppearing
:
protected override void OnAppearing()
{
base.OnAppearing();
var safeInsets = On<iOS>().SafeAreaInsets();
safeInsets.Left = 20;
Padding = safeInsets;
}