이 iOS 플랫폼별은 iOS 11 이상 디바이스의 탐색 모음에 페이지 제목을 NavigationPage큰 제목으로 표시하는 데 사용됩니다. 큰 제목은 왼쪽에 맞춰지고 더 큰 글꼴을 사용하며 사용자가 콘텐츠 스크롤을 시작할 때 표준 제목으로 전환되므로 화면 공간을 효율적으로 사용합니다. 그러나 가로 방향에서는 제목이 탐색 모음의 가운데로 돌아가 콘텐츠 레이아웃을 최적화합니다. 연결된 속성을 boolean 값으로 설정 NavigationPage.PrefersLargeTitles 하여 XAML에서 사용합니다.
<NavigationPage 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"
...
ios:NavigationPage.PrefersLargeTitles="true">
...
</NavigationPage>
또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
var navigationPage = new Xamarin.Forms.NavigationPage(new iOSLargeTitlePageCS());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);
이 메서드는 NavigationPage.On<iOS> 이 플랫폼별이 iOS에서만 실행되도록 지정합니다. 네임스페이 Xamarin.Forms.PlatformConfiguration.iOSSpecific 스의 메서드는 NavigationPage.SetPrefersLargeTitle 큰 타이틀을 사용할 수 있는지 여부를 제어합니다.
큰 제목을 사용하도록 설정하면 탐색 스택의 NavigationPage모든 페이지에 큰 제목이 표시됩니다. 연결된 속성을 열거형 값으로 설정 Page.LargeTitleDisplay 하여 페이지에서 이 동작을 재정의 LargeTitleDisplayMode 할 수 있습니다.
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Large Title"
ios:Page.LargeTitleDisplay="Never">
...
</ContentPage>
또는 흐름 API를 사용하여 C#에서 페이지 동작을 재정의할 수 있습니다.
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
public class iOSLargeTitlePageCS : ContentPage
{
public iOSLargeTitlePageCS(ICommand restore)
{
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never);
...
}
...
}
이 메서드는 Page.On<iOS> 이 플랫폼별이 iOS에서만 실행되도록 지정합니다. 네임스페이 Xamarin.Forms.PlatformConfiguration.iOSSpecific 스의 메서드는 Page.SetLargeTitleDisplay 열거형에서 PageLargeTitleDisplayMode 다음 세 가지 가능한 값을 제공하여 큰 타이틀 동작을 제어합니다.
Always– 큰 형식을 사용하도록 탐색 모음 및 글꼴 크기를 강제로 지정합니다.Automatic– 탐색 스택의 이전 항목과 동일한 스타일(크거나 작음)을 사용합니다.Never– 일반의 작은 서식 탐색 모음을 강제로 사용합니다.
또한 메서드를 SetLargeTitleDisplay 사용하여 현재LargeTitleDisplayMode를 반환하는 메서드를 호출 LargeTitleDisplay 하여 열거형 값을 토글할 수 있습니다.
switch (On<iOS>().LargeTitleDisplay())
{
case LargeTitleDisplayMode.Always:
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Automatic);
break;
case LargeTitleDisplayMode.Automatic:
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never);
break;
case LargeTitleDisplayMode.Never:
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Always);
break;
}
그 결과 지정된 LargeTitleDisplayMode 값이 큰 타이틀 동작을 Page제어하는 에 적용됩니다.
