Modalità colore testo barra di navigazione in iOS
Questa piattaforma specifica controlla se il colore del testo della barra di stato su un NavigationPage
oggetto viene regolato in modo che corrisponda alla luminosità della barra di spostamento. Viene utilizzata in XAML impostando la NavigationPage.StatusBarTextColorMode
proprietà associata su un valore dell'enumerazione StatusBarTextColorMode
:
<FlyoutPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
x:Class="PlatformSpecifics.iOSStatusBarTextColorModePage">
<FlyoutPage.Flyout>
<ContentPage Title="Flyout Page Title" />
</FlyoutPage.Flyout>
<FlyoutPage.Detail>
<NavigationPage BarBackgroundColor="Blue" BarTextColor="White"
ios:NavigationPage.StatusBarTextColorMode="MatchNavigationBarTextLuminosity">
<x:Arguments>
<ContentPage>
<Label Text="Slide the master page to see the status bar text color mode change." />
</ContentPage>
</x:Arguments>
</NavigationPage>
</FlyoutPage.Detail>
</FlyoutPage>
In alternativa, può essere usato da C# usando l'API Fluent:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
IsPresentedChanged += (sender, e) =>
{
var flyoutPage = sender as FlyoutPage;
if (flyoutPage.IsPresented)
((Xamarin.Forms.NavigationPage)flyoutPage.Detail)
.On<iOS>()
.SetStatusBarTextColorMode(StatusBarTextColorMode.DoNotAdjust);
else
((Xamarin.Forms.NavigationPage)flyoutPage.Detail)
.On<iOS>()
.SetStatusBarTextColorMode(StatusBarTextColorMode.MatchNavigationBarTextLuminosity);
};
Il NavigationPage.On<iOS>
metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il NavigationPage.SetStatusBarTextColorMode
metodo, nello Xamarin.Forms.PlatformConfiguration.iOSSpecific
spazio dei nomi , controlla se il colore del testo della barra di stato su NavigationPage
viene regolato in modo che corrisponda alla luminosità della barra di spostamento, con l'enumerazione StatusBarTextColorMode
che fornisce due valori possibili:
DoNotAdjust
– indica che il colore del testo della barra di stato non deve essere regolato.MatchNavigationBarTextLuminosity
– indica che il colore del testo della barra di stato deve corrispondere alla luminosità della barra di spostamento.
Inoltre, il GetStatusBarTextColorMode
metodo può essere usato per recuperare il valore corrente dell'enumerazione StatusBarTextColorMode
applicata a NavigationPage
.
Il risultato è che il colore del testo della barra di stato su un NavigationPage
può essere regolato in modo che corrisponda alla luminosità della barra di spostamento. In questo esempio il colore del testo della barra di stato cambia quando l'utente passa tra le Flyout
pagine e Detail
di un FlyoutPage
oggetto :