iOS의 NavigationPage 막대 텍스트 색 모드
이 플랫폼별은 탐색 모음의 광도에 NavigationPage
맞게 상태 표시줄 텍스트 색이 조정되는지 여부를 제어합니다. 연결된 속성을 열거형 값으로 설정 NavigationPage.StatusBarTextColorMode
하여 XAML에서 StatusBarTextColorMode
사용합니다.
<FlyoutPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
x:Class="PlatformSpecifics.iOSStatusBarTextColorModePage">
<FlyoutPage.Flyout>
<ContentPage Title="Flyout Page Title" />
</FlyoutPage.Flyout>
<FlyoutPage.Detail>
<NavigationPage BarBackgroundColor="Blue" BarTextColor="White"
ios:NavigationPage.StatusBarTextColorMode="MatchNavigationBarTextLuminosity">
<x:Arguments>
<ContentPage>
<Label Text="Slide the master page to see the status bar text color mode change." />
</ContentPage>
</x:Arguments>
</NavigationPage>
</FlyoutPage.Detail>
</FlyoutPage>
또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
IsPresentedChanged += (sender, e) =>
{
var flyoutPage = sender as FlyoutPage;
if (flyoutPage.IsPresented)
((Xamarin.Forms.NavigationPage)flyoutPage.Detail)
.On<iOS>()
.SetStatusBarTextColorMode(StatusBarTextColorMode.DoNotAdjust);
else
((Xamarin.Forms.NavigationPage)flyoutPage.Detail)
.On<iOS>()
.SetStatusBarTextColorMode(StatusBarTextColorMode.MatchNavigationBarTextLuminosity);
};
이 메서드는 NavigationPage.On<iOS>
이 플랫폼별이 iOS에서만 실행되도록 지정합니다. 네임스페이스의 메서드 Xamarin.Forms.PlatformConfiguration.iOSSpecific
는 NavigationPage.SetStatusBarTextColorMode
탐색 모음의 광도와 NavigationPage
일치하도록 상태 표시줄 텍스트 색이 조정되는지 여부를 제어하며 StatusBarTextColorMode
열거형은 두 가지 가능한 값을 제공합니다.
DoNotAdjust
– 상태 표시줄 텍스트 색을 조정해서는 안 됨을 나타냅니다.MatchNavigationBarTextLuminosity
– 상태 표시줄 텍스트 색이 탐색 모음의 광도와 일치해야 함을 나타냅니다.
또한 메서드를 GetStatusBarTextColorMode
사용하여 에 적용되는 열거형의 StatusBarTextColorMode
현재 값을 검색할 NavigationPage
수 있습니다.
결과적으로 탐색 모음의 광도에 NavigationPage
맞게 상태 표시줄 텍스트 색을 조정할 수 있습니다. 이 예제에서는 사용자가 다음의 페이지 간에 Flyout
Detail
전환할 때 상태 표시줄 텍스트 색이 FlyoutPage
변경됩니다.