iOS 上的 NavigationPage 栏半透明效果
此 .NET Multi-platform App UI (.NET MAUI) iOS 平台特定功能用于更改 NavigationPage 上导航栏的透明度,其使用方式是在 XAML 中将 NavigationPage.IsNavigationBarTranslucent
附加属性设置为 boolean
值:
<NavigationPage ...
xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
BackgroundColor="Blue"
ios:NavigationPage.IsNavigationBarTranslucent="true">
...
</NavigationPage>
或者,可以使用 Fluent API 从 C# 使用它:
using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...
// Assume the app has a single window
(App.Current.Windows[0].Page as Microsoft.Maui.Controls.NavigationPage).BackgroundColor = Colors.Blue;
(App.Current.Windows[0].Page as Microsoft.maui.Controls.NavigationPage).On<iOS>().EnableTranslucentNavigationBar();
NavigationPage.On<iOS>
方法指定此平台特定功能将仅在 iOS 上运行。 Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific
命名空间中的 NavigationPage.EnableTranslucentNavigationBar
方法用于使导航栏变得半透明。 此外,Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific
命名空间中的 NavigationPage 类还包含将导航栏还原到其默认状态的 DisableTranslucentNavigationBar
方法,以及可用于通过调用 IsNavigationBarTranslucent
方法切换导航栏透明度的 SetIsNavigationBarTranslucent
方法:
// Assume the app has a single window
(App.Current.Windows[0].Page as Microsoft.Maui.Controls.NavigationPage)
.On<iOS>()
.SetIsNavigationBarTranslucent(!(App.Current.Windows[0].Page as Microsoft.Maui.Controls.NavigationPage).On<iOS>().IsNavigationBarTranslucent());
结果是可以更改导航栏的透明度: