Translucency de la barre NavigationPage sur iOS
Cette propriété spécifique à la plateforme iOS est utilisée pour modifier la transparence de la barre de navigation sur un NavigationPage
, 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>
Vous pouvez également la consommer à 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 méthode spécifique à la plateforme s’exécutera uniquement 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 dans 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 désactiver 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 :