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 NavigationPage
appareil 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 NavigationPage
pile 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 :