次の方法で共有


iOS の大きなページ タイトル

この .NET マルチプラットフォーム アプリ UI (.NET MAUI) iOS プラットフォーム固有は、iOS 11 以降を使用するデバイスで NavigationPage のナビゲーション バーに、ページ タイトルを大きなタイトルとして表示するために使用されます。 大きなタイトルは左揃えになり、より大きなフォントが使用され、ユーザーがコンテンツのスクロールを開始すると標準タイトルに切り替わるので、画面領域が効率的に使用されます。 ただし、横向きでは、タイトルはナビゲーション バーの中央に戻り、コンテンツ レイアウトを最適化します。 NavigationPage.PrefersLargeTitles 添付プロパティを boolean 値に設定して、XAML で使用されます。

<NavigationPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
                xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
                ...
                ios:NavigationPage.PrefersLargeTitles="true">
  ...
</NavigationPage>

または、fluent API を使用して C# から使用することもできます。

using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...

var navigationPage = new Microsoft.Maui.Controls.NavigationPage(new iOSLargeTitlePageCode());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);

NavigationPage.On<iOS> メソッドは、このプラットフォーム固有の機能が iOS でのみ実行されるように指定します。 Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific 名前空間の NavigationPage.SetPrefersLargeTitle メソッドは、大きなタイトルを有効にするかどうかを制御します。

大きなタイトルが NavigationPage で有効になっている場合、ナビゲーション スタック内のすべてのページに大きなタイトルが表示されます。 Page.LargeTitleDisplay 添付プロパティを LargeTitleDisplayMode 列挙型の値に設定すれば、ページでこの動作をオーバーライドできます。

<ContentPage ...
             xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
             Title="Large Title"
             ios:Page.LargeTitleDisplay="Never">
  ...
</ContentPage>

または、fluent API を使用して C# からページの動作をオーバーライドすることもできます。

using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...

public class iOSLargeTitlePageCode : ContentPage
{
    public iOSLargeTitlePageCode
    {
        On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never);
    }
    ...
}

Page.On<iOS> メソッドは、このプラットフォーム固有の構成が iOS でのみ動作するように指定します。 Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific 名前空間内の Page.SetLargeTitleDisplay メソッドは、3 つの可能な値を提供する LargeTitleDisplayMode 列挙型により、Page で大きなタイトルの動作を制御します。

  • 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;
}

その結果、指定した LargeTitleDisplayModePage に適用され、大きなタイトルの動作を制御します。

Page title as a large title.