共用方式為


iOS 上的 NavigationPage 列半透明

此 iOS 平臺特定是用來變更 上 NavigationPage導覽列的透明度,並且藉由將附加屬性設定 NavigationPage.IsNavigationBarTranslucentboolean 值,在 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());

結果是可以變更導覽列的透明度:

半透明導覽列平臺特定