Compartilhar via


Translucidez da barra NavigationPage no iOS

Esta interface do usuário do aplicativo multiplataforma .NET (.NET MAUI) específica da plataforma iOS é usada para alterar a transparência da barra de navegação em um , e é consumida em XAML definindo a propriedade anexada NavigationPage.IsNavigationBarTranslucent como um NavigationPageboolean valor:

<NavigationPage ...
                xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
                BackgroundColor="Blue"
                ios:NavigationPage.IsNavigationBarTranslucent="true">
  ...
</NavigationPage>

Como alternativa, ele pode ser consumido do C# usando a API fluente:

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();

O NavigationPage.On<iOS> método especifica que essa plataforma específica só será executada no iOS. O NavigationPage.EnableTranslucentNavigationBar método, no Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific namespace, é usado para tornar a barra de navegação translúcida. Além disso, a NavigationPage classe no namespace também tem um método que restaura Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific a barra de navegação para seu estado padrão e um DisableTranslucentNavigationBar SetIsNavigationBarTranslucent método que pode ser usado para alternar a transparência da barra de navegação chamando o IsNavigationBarTranslucent método:

// 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());

O resultado é que a transparência da barra de navegação pode ser alterada:

Translucent Navigation Bar Platform-Specific.