Translucency de la barre NavigationPage sur iOS

Télécharger l’exemple Télécharger l’exemple

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 :

Barre de navigation translucide spécifique à la plateforme