Udostępnij za pośrednictwem


Przezroczystość paska navigationPage w systemie iOS

Ten wieloplatformowy interfejs użytkownika aplikacji platformy .NET (.NET MAUI) dla systemu iOS służy do zmiany przezroczystości paska nawigacyjnego na NavigationPageobiekcie i jest używany w języku XAML przez ustawienie dołączonej NavigationPage.IsNavigationBarTranslucent właściwości na boolean wartość:

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

Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:

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

Metoda NavigationPage.On<iOS> określa, że ta platforma będzie działać tylko w systemie iOS. Metoda NavigationPage.EnableTranslucentNavigationBar w Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific przestrzeni nazw służy do translucentnego paska nawigacyjnego. Ponadto NavigationPage klasa w Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific przestrzeni nazw ma również metodę DisableTranslucentNavigationBar , która przywraca pasek nawigacyjny do stanu domyślnego oraz metodę SetIsNavigationBarTranslucent , która może służyć do przełączania przezroczystości paska nawigacyjnego przez wywołanie IsNavigationBarTranslucent metody :

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

W rezultacie można zmienić przezroczystość paska nawigacyjnego:

Translucent Navigation Bar Platform-Specific.