다음을 통해 공유


iOS의 큰 페이지 제목

이 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제어하는 에 적용됩니다.

흐림 효과 플랫폼별