Translucidez da barra de navegaçãoPágina no iOS
Esse específico da plataforma iOS é usado para alterar a transparência da barra de navegação em um NavigationPage
, e é consumido em XAML definindo a propriedade anexada NavigationPage.IsNavigationBarTranslucent
como um boolean
valor:
<NavigationPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
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();
O método NavigationPage.On<iOS>
especifica que essa plataforma específica só será executada no iOS. O NavigationPage.EnableTranslucentNavigationBar
método, no Xamarin.Forms.PlatformConfiguration.iOSSpecific
namespace, é usado para tornar a barra de navegação translúcida. Além disso, a NavigationPage
Xamarin.Forms.PlatformConfiguration.iOSSpecific
classe no namespace também tem um DisableTranslucentNavigationBar
método que restaura a barra de navegação para seu estado padrão e um SetIsNavigationBarTranslucent
método que pode ser usado para alternar a transparência da barra de navegação chamando o IsNavigationBarTranslucent
método:
(App.Current.MainPage as Xamarin.Forms.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
O resultado é que a transparência da barra de navegação pode ser alterada: