Partager via


Grands titres de page sur iOS

Cette plateforme iOS spécifique est utilisée pour afficher le titre de la page sous la forme d’un titre volumineux dans la barre de navigation d’un NavigationPageappareil qui utilise iOS 11 ou version ultérieure. Un titre volumineux est aligné à gauche et utilise une police plus grande, et passe à un titre standard lorsque l’utilisateur commence à faire défiler le contenu, afin que l’immobilier de l’écran soit utilisé efficacement. Toutefois, en orientation paysage, le titre revient au centre de la barre de navigation pour optimiser la disposition du contenu. Elle est consommée en XAML en définissant la NavigationPage.PrefersLargeTitles propriété jointe sur une boolean valeur :

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

Il peut également être consommé à partir de C# à l’aide de l’API Fluent :

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

var navigationPage = new Xamarin.Forms.NavigationPage(new iOSLargeTitlePageCS());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);

La NavigationPage.On<iOS> méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La NavigationPage.SetPrefersLargeTitle méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, contrôle si les titres volumineux sont activés.

À condition que les grands titres soient activés sur la NavigationPagepile de navigation, toutes les pages de la pile de navigation affichent des titres volumineux. Ce comportement peut être substitué sur les pages en définissant la Page.LargeTitleDisplay propriété jointe sur une valeur de l’énumération LargeTitleDisplayMode :

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

Vous pouvez également remplacer le comportement de la page à partir de C# à l’aide de l’API Fluent :

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

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

La Page.On<iOS> méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La Page.SetLargeTitleDisplay méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, contrôle le comportement de titre volumineux sur le Page, avec l’énumération LargeTitleDisplayMode fournissant trois valeurs possibles :

  • Always : forcez la barre de navigation et la taille de police à utiliser le grand format.
  • Automatic : utilisez le même style (grand ou petit) que l’élément précédent dans la pile de navigation.
  • Never : forcez l’utilisation de la barre de navigation régulière et de petite mise en forme.

En outre, la SetLargeTitleDisplay méthode peut être utilisée pour activer/désactiver les valeurs d’énumération en appelant la LargeTitleDisplay méthode, qui retourne le résultat actuel 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;
}

Le résultat est qu’un spécifié LargeTitleDisplayMode est appliqué au Page, qui contrôle le comportement du grand titre :

Blur Effect Platform-Specific