次の方法で共有


iOS での NavigationPage のバーの透明度

この .NET Multi-platform App UI (.NET MAUI) iOS プラットフォーム固有設定は、NavigationPage ではナビゲーション バーの透明度を変更するために使用され、NavigationPage.IsNavigationBarTranslucent 添付プロパティを boolean 値に設定することで XAML で使用されます。

<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;
...

(App.Current.MainPage as Microsoft.Maui.Controls.NavigationPage).BackgroundColor = Colors.Blue;
(App.Current.MainPage 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 メソッドもあります。

(App.Current.MainPage as Microsoft.Maui.Controls.NavigationPage)
  .On<iOS>()
  .SetIsNavigationBarTranslucent(!(App.Current.MainPage as Microsoft.Maui.Controls.NavigationPage).On<iOS>().IsNavigationBarTranslucent());

その結果、ナビゲーション バーの透明度を変更できます。

Translucent Navigation Bar Platform-Specific.