Condividi tramite


Translucidità barra navigationPage in iOS

Questo specifico della piattaforma iOS viene usato per modificare la trasparenza della barra di spostamento in un NavigationPageoggetto e viene utilizzato in XAML impostando la NavigationPage.IsNavigationBarTranslucent proprietà associata su un boolean valore:

<NavigationPage ...
                xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
                BackgroundColor="Blue"
                ios:NavigationPage.IsNavigationBarTranslucent="true">
  ...
</NavigationPage>

In alternativa, può essere usato da C# usando l'API Fluent:

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

Il NavigationPage.On<iOS> metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il NavigationPage.EnableTranslucentNavigationBar metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.iOSSpecific nomi , viene utilizzato per rendere la barra di spostamento traslucente. Inoltre, la NavigationPage classe nello spazio dei Xamarin.Forms.PlatformConfiguration.iOSSpecific nomi include anche un DisableTranslucentNavigationBar metodo che ripristina lo stato predefinito della barra di spostamento e un SetIsNavigationBarTranslucent metodo che può essere usato per attivare o disattivare la trasparenza della barra di spostamento chiamando il IsNavigationBarTranslucent metodo :

(App.Current.MainPage as Xamarin.Forms.NavigationPage)
  .On<iOS>()
  .SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());

Il risultato è che la trasparenza della barra di spostamento può essere modificata:

Barra di spostamento traslucente specifica della piattaforma