Modo de cor do texto da barra de navegaçãoPágina no iOS
Esse específico da plataforma controla se a cor do texto da barra de status em a NavigationPage
é ajustada para corresponder à luminosidade da barra de navegação. Ele é consumido em XAML definindo a propriedade anexada NavigationPage.StatusBarTextColorMode
como um valor da StatusBarTextColorMode
enumeração:
<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>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
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);
};
O método NavigationPage.On<iOS>
especifica que essa plataforma específica só será executada no iOS. O NavigationPage.SetStatusBarTextColorMode
método, no namespace, controla Xamarin.Forms.PlatformConfiguration.iOSSpecific
NavigationPage
se a cor do texto da barra de status no é ajustada para corresponder à luminosidade da barra de navegação, com a StatusBarTextColorMode
enumeração fornecendo dois valores possíveis:
DoNotAdjust
– indica que a cor do texto da barra de status não deve ser ajustada.MatchNavigationBarTextLuminosity
– indica que a cor do texto da barra de status deve corresponder à luminosidade da barra de navegação.
Além disso, o GetStatusBarTextColorMode
método pode ser usado para recuperar o valor atual da StatusBarTextColorMode
enumeração aplicada ao NavigationPage
.
O resultado é que a cor do texto da barra de status em a NavigationPage
pode ser ajustada para corresponder à luminosidade da barra de navegação. Neste exemplo, a cor do texto da barra de status muda à medida que o usuário alterna entre as páginas e Detail
de Flyout
um FlyoutPage
: