Sdílet prostřednictvím


Průsvitnost panelu NavigationPage v iOSu

Toto uživatelské rozhraní pro víceplatformní aplikace .NET (.NET MAUI) pro iOS se používá ke změně průhlednosti navigačního panelu na objektu NavigationPagea využívá se v XAML nastavením NavigationPage.IsNavigationBarTranslucent připojené vlastnosti na boolean hodnotu:

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

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT 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> určuje, že se tato platforma bude spouštět pouze v iOSu. Metoda NavigationPage.EnableTranslucentNavigationBar v Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific oboru názvů slouží k tomu, aby navigační panel byl průsvitný. Třída v Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific oboru názvů má také metoduDisableTranslucentNavigationBar, která obnoví navigační panel do výchozího stavu a metoduSetIsNavigationBarTranslucent, NavigationPage která se dá použít k přepnutí průhlednosti navigačního panelu IsNavigationBarTranslucent voláním 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());

Výsledkem je, že průhlednost navigačního panelu se dá změnit:

Translucent Navigation Bar Platform-Specific.