Translucency de barre NavigationPage sur iOS
Cette plateforme iOS spécifique est utilisée pour modifier la transparence de la barre de navigation sur un NavigationPage
code XAML et est consommée en XAML en définissant la NavigationPage.IsNavigationBarTranslucent
propriété jointe sur une boolean
valeur :
<NavigationPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :
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();
La NavigationPage.On<iOS>
méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La NavigationPage.EnableTranslucentNavigationBar
méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific
de noms, est utilisée pour rendre la barre de navigation translucide. En outre, la NavigationPage
classe de l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific
de noms a également une DisableTranslucentNavigationBar
méthode qui restaure la barre de navigation à son état par défaut et une SetIsNavigationBarTranslucent
méthode qui peut être utilisée pour activer la transparence de la barre de navigation en appelant la IsNavigationBarTranslucent
méthode :
(App.Current.MainPage as Xamarin.Forms.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
Le résultat est que la transparence de la barre de navigation peut être modifiée :