Průsvitnost panelu NavigationPage v iOSu
Tato platforma pro iOS se používá ke změně průhlednosti navigačního panelu na objektu NavigationPage
a využívá se v XAML nastavením NavigationPage.IsNavigationBarTranslucent
připojené vlastnosti na boolean
hodnotu:
<NavigationPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:
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();
Metoda NavigationPage.On<iOS>
určuje, že se tato platforma bude spouštět pouze v iOSu. Metoda NavigationPage.EnableTranslucentNavigationBar
v Xamarin.Forms.PlatformConfiguration.iOSSpecific
oboru názvů slouží k tomu, aby navigační panel byl průsvitný. Třída v Xamarin.Forms.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:
(App.Current.MainPage as Xamarin.Forms.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
Výsledkem je, že průhlednost navigačního panelu se dá změnit: