IOS의 큰 페이지 제목Large Page Titles on iOS

샘플 다운로드 샘플 다운로드Download Sample Download the sample

이 ios 플랫폼 전용은 ios 11 이상을 사용 하는 장치에 대 한 탐색 모음 NavigationPage에서 페이지 제목을 큰 제목으로 표시 하는 데 사용 됩니다.This iOS platform-specific is used to display the page title as a large title on the navigation bar of a NavigationPage, for devices that use iOS 11 or greater. 큰 제목 왼쪽 맞춤은 큰 글꼴을 사용 하 여 및 화면 부동산 효율적으로 사용 되도록 사용자가 콘텐츠를 스크롤 하는 대로 표준 제목으로 전환 합니다.A large title is left aligned and uses a larger font, and transitions to a standard title as the user begins scrolling content, so that the screen real estate is used efficiently. 그러나 가로 방향으로 제목 콘텐츠 레이아웃을 최적화 하기 위해 탐색 모음의 센터로 돌아갑니다.However, in landscape orientation, the title will return to the center of the navigation bar to optimize content layout. 설정 하 여 XAML에서 사용 되는 NavigationPage.PrefersLargeTitles 연결 된 속성을 boolean 값:It's consumed in XAML by setting the NavigationPage.PrefersLargeTitles attached property to a boolean value:

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

또는 fluent API를 사용 하 여 C#에서 사용할 수 있습니다.Alternatively it can be consumed from C# using the fluent API:

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에만 실행 되도록 지정 합니다.The NavigationPage.On<iOS> method specifies that this platform-specific will only run on iOS. 합니다 NavigationPage.SetPrefersLargeTitle 메서드, 합니다 Xamarin.Forms.PlatformConfiguration.iOSSpecific 네임 스페이스에는 큰 제목 사용 되는지 여부를 제어 합니다.The NavigationPage.SetPrefersLargeTitle method, in the Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace, controls whether large titles are enabled.

큰 제목에서 사용 되는 NavigationPage , 탐색 스택의 모든 페이지에는 큰 제목 표시 됩니다.Provided that large titles are enabled on the NavigationPage, all pages in the navigation stack will display large titles. 설정 하 여 페이지에서이 동작을 재정의할 수 있습니다 합니다 Page.LargeTitleDisplay 연결 된 속성의 값으로는 LargeTitleDisplayMode 열거형:This behavior can be overridden on pages by setting the Page.LargeTitleDisplay attached property to a value of the LargeTitleDisplayMode enumeration:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             Title="Large Title"
             ios:Page.LargeTitleDisplay="Never">
  ...
</ContentPage>

또는 fluent API를 사용 하 여 C#에서 페이지 동작을 재정의할 수 있습니다.Alternatively, the page behavior can be overridden from C# using the fluent API:

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에만 실행 되도록 지정 합니다.The Page.On<iOS> method specifies that this platform-specific will only run on iOS. Page.SetLargeTitleDisplay 메서드를 Xamarin.Forms.PlatformConfiguration.iOSSpecific 네임 스페이스에서 큰 제목 동작을 제어를 Page 를 사용 하 여를 LargeTitleDisplayMode 세 가지 가능한을 제공 하는 열거형 값:The Page.SetLargeTitleDisplay method, in the Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace, controls the large title behavior on the Page, with the LargeTitleDisplayMode enumeration providing three possible values:

  • Always – 탐색 모음 및 글꼴을 강제로 큰 형식을 사용 하는 크기입니다.Always – force the navigation bar and font size to use the large format.
  • Automatic – 탐색 스택의 이전 항목으로 같은 스타일 (중소기업)을 사용 합니다.Automatic – use the same style (large or small) as the previous item in the navigation stack.
  • Never – 작은 일반 형식으로 탐색 모음을 사용 합니다.Never – force the use of the regular, small format navigation bar.

또한 합니다 SetLargeTitleDisplay 메서드를 호출 하 여 열거형 값을 설정/해제를 사용할 수는 LargeTitleDisplay 현재 반환 하는 메서드 LargeTitleDisplayMode:In addition, the SetLargeTitleDisplay method can be used to toggle the enumeration values by calling the LargeTitleDisplay method, which returns the current LargeTitleDisplayMode:

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 , 큰 제목 동작을 제어:The result is that a specified LargeTitleDisplayMode is applied to the Page, which controls the large title behavior: