Бөлісу құралы:


Translucency bar NavigationPage в iOS

Эта платформа iOS используется для изменения прозрачности панели навигации в NavigationPageXAML, задав NavigationPage.IsNavigationBarTranslucent присоединенное свойство значением boolean :

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

Кроме того, его можно использовать из C# с помощью api fluent:

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

В результате можно изменить прозрачность панели навигации:

Транслуцентная панель навигации, зависят от платформы