Przezroczystość paska nawigacji w systemie iOS
Ten specyficzny dla platformy systemu iOS służy do zmiany przezroczystości paska nawigacyjnego na NavigationPage
obiekcie i jest używany w języku XAML przez ustawienie dołączonej NavigationPage.IsNavigationBarTranslucent
właściwości na boolean
wartość:
<NavigationPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
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;
...
(App.Current.MainPage as Xamarin.Forms.NavigationPage).BackgroundColor = Color.Blue;
(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().EnableTranslucentNavigationBar();
Metoda NavigationPage.On<iOS>
określa, że ta platforma będzie działać tylko w systemie iOS. Metoda NavigationPage.EnableTranslucentNavigationBar
w Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw służy do translucentnego paska nawigacyjnego. Ponadto NavigationPage
klasa w Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw ma również metodę DisableTranslucentNavigationBar
, która przywraca pasek nawigacyjny do stanu domyślnego oraz metodę SetIsNavigationBarTranslucent
, która może służyć do przełączania przezroczystości paska nawigacyjnego przez wywołanie IsNavigationBarTranslucent
metody :
(App.Current.MainPage as Xamarin.Forms.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
W rezultacie można zmienić przezroczystość paska nawigacyjnego: