Translucency bar NavigationPage в iOS
Эта платформа iOS используется для изменения прозрачности панели навигации в NavigationPage
XAML, задав 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());
В результате можно изменить прозрачность панели навигации: