Translucencia de la barra NavigationPage en iOS
Esta plataforma específica de iOS se usa para cambiar la transparencia de la barra de navegación en , NavigationPage
y se consume en XAML estableciendo la NavigationPage.IsNavigationBarTranslucent
propiedad adjunta en un boolean
valor:
<NavigationPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
Como alternativa, se puede consumir desde C# mediante la API fluida:
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();
El NavigationPage.On<iOS>
método especifica que esta plataforma específica solo se ejecutará en iOS. El NavigationPage.EnableTranslucentNavigationBar
método , en el Xamarin.Forms.PlatformConfiguration.iOSSpecific
espacio de nombres , se usa para hacer que la barra de navegación translúcida. Además, la NavigationPage
clase del Xamarin.Forms.PlatformConfiguration.iOSSpecific
espacio de nombres también tiene un DisableTranslucentNavigationBar
método que restaura la barra de navegación a su estado predeterminado y un SetIsNavigationBarTranslucent
método que se puede usar para alternar la transparencia de la barra de navegación llamando al IsNavigationBarTranslucent
método :
(App.Current.MainPage as Xamarin.Forms.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
El resultado es que se puede cambiar la transparencia de la barra de navegación: