Partager via


Translucency de barre NavigationPage sur iOS

Cette interface utilisateur de l’application multiplateforme .NET (.NET MAUI) 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:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
                BackgroundColor="Blue"
                ios:NavigationPage.IsNavigationBarTranslucent="true">
  ...
</NavigationPage>

Vous pouvez également l’utiliser à partir de C# à l’aide de l’API Fluent :

using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...

// Assume the app has a single window
(App.Current.Windows[0].Page as Microsoft.Maui.Controls.NavigationPage).BackgroundColor = Colors.Blue;
(App.Current.Windows[0].Page as Microsoft.maui.Controls.NavigationPage).On<iOS>().EnableTranslucentNavigationBar();

La NavigationPage.On<iOS> méthode spécifie que cette plateforme spécifique ne s’exécutera que sur iOS. La NavigationPage.EnableTranslucentNavigationBar méthode, dans l’espace Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific de noms, est utilisée pour rendre la barre de navigation translucide. En outre, la NavigationPage classe de l’espace Microsoft.Maui.Controls.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 :

// Assume the app has a single window
(App.Current.Windows[0].Page as Microsoft.Maui.Controls.NavigationPage)
  .On<iOS>()
  .SetIsNavigationBarTranslucent(!(App.Current.Windows[0].Page as Microsoft.Maui.Controls.NavigationPage).On<iOS>().IsNavigationBarTranslucent());

Le résultat est que la transparence de la barre de navigation peut être modifiée :

Translucent Navigation Bar Platform-Specific.