iOS'ta NavigationPage Çubuğu Saydamlığı

Bu iOS platformuna özgü, bir NavigationPageüzerindeki gezinti çubuğunun saydamlığını değiştirmek için kullanılır ve ekli özelliği bir boolean değere ayarlayarak NavigationPage.IsNavigationBarTranslucent XAML'de kullanılır:

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

Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:

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

NavigationPage.On<iOS> yöntemi, platforma özgü bu uygulamanın yalnızca iOS üzerinde çalışacağını belirtir. NavigationPage.EnableTranslucentNavigationBar yöntemi, ad alanında Xamarin.Forms.PlatformConfiguration.iOSSpecific gezinti çubuğunu yarı saydam hale getirmek için kullanılır. Buna ek olarak, NavigationPage ad alanı içindeki Xamarin.Forms.PlatformConfiguration.iOSSpecific sınıfın ayrıca gezinti çubuğunu varsayılan durumuna geri yükleyen bir DisableTranslucentNavigationBar yöntemi ve yöntemini çağırarak IsNavigationBarTranslucent gezinti çubuğu saydamlığını değiştirmek için kullanılabilecek bir SetIsNavigationBarTranslucent yöntemi vardır:

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

Sonuç olarak gezinti çubuğunun saydamlığı değiştirilebilir:

Yarı Saydam Gezinti Çubuğu Platforma Özgü