iOS 上的 NavigationPage 列半透明
此 iOS 平臺特定是用來變更 上 NavigationPage
導覽列的透明度,並且藉由將附加屬性設定 NavigationPage.IsNavigationBarTranslucent
為 boolean
值,在 XAML 中取用:
<NavigationPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
或者,您可以使用 Fluent API 從 C# 取用它:
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>
會指定此平台專屬只會在iOS上執行。 命名空間 NavigationPage.EnableTranslucentNavigationBar
中的 Xamarin.Forms.PlatformConfiguration.iOSSpecific
方法可用來讓導覽列變透明。 此外, NavigationPage
命名空間中的 Xamarin.Forms.PlatformConfiguration.iOSSpecific
類別也有方法 DisableTranslucentNavigationBar
可將導覽列還原為其默認狀態,以及 SetIsNavigationBarTranslucent
呼叫 方法,可用來切換導覽列透明度 IsNavigationBarTranslucent
的方法:
(App.Current.MainPage as Xamarin.Forms.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.MainPage as Xamarin.Forms.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
結果是可以變更導覽列的透明度: