Große Seitentitel auf iOS
Diese iOS-plattformspezifische Wird verwendet, um den Seitentitel als großen Titel auf der Navigationsleiste eines , NavigationPage
für Geräte anzuzeigen, die iOS 11 oder höher verwenden. Ein großer Titel ist linksbündig ausgerichtet und verwendet eine größere Schriftart und wechselt zu einem Standardtitel, während der Benutzer mit dem Scrollen von Inhalten beginnt, sodass die Bildschirmfläche effizient verwendet wird. Im Querformat kehrt der Titel jedoch zur Mitte der Navigationsleiste zurück, um das Inhaltslayout zu optimieren. Sie wird in XAML verbraucht, indem Sie die NavigationPage.PrefersLargeTitles
angefügte Eigenschaft auf einen boolean
Wert festlegen:
<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>
Alternativ kann sie von C# mithilfe der Fluent-API genutzt werden:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
var navigationPage = new Xamarin.Forms.NavigationPage(new iOSLargeTitlePageCS());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);
Die NavigationPage.On<iOS>
Methode gibt an, dass diese plattformspezifische Methode nur auf iOS ausgeführt wird. Die NavigationPage.SetPrefersLargeTitle
Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific
Namespace steuert, ob große Titel aktiviert sind.
Wenn große Titel auf dem NavigationPage
Navigationsstapel aktiviert sind, werden alle Seiten im Navigationsstapel große Titel angezeigt. Dieses Verhalten kann auf Seiten überschrieben werden, indem die Page.LargeTitleDisplay
angefügte Eigenschaft auf einen Wert der LargeTitleDisplayMode
Enumeration festgelegt wird:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Large Title"
ios:Page.LargeTitleDisplay="Never">
...
</ContentPage>
Alternativ kann das Seitenverhalten über C# mithilfe der Fluent-API außer Kraft gesetzt werden:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
public class iOSLargeTitlePageCS : ContentPage
{
public iOSLargeTitlePageCS(ICommand restore)
{
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never);
...
}
...
}
Die Page.On<iOS>
Methode gibt an, dass diese plattformspezifische Methode nur auf iOS ausgeführt wird. Die Page.SetLargeTitleDisplay
Methode steuert im Xamarin.Forms.PlatformConfiguration.iOSSpecific
Namespace das große Titelverhalten auf dem Page
, wobei die LargeTitleDisplayMode
Aufzählung drei mögliche Werte bereitstellt:
Always
– Erzwingen Sie die Navigationsleiste und den Schriftgrad, um das große Format zu verwenden.Automatic
– Verwenden Sie dieselbe Formatvorlage (groß oder klein) wie das vorherige Element im Navigationsstapel.Never
– erzwingen Sie die Verwendung der regulären, kleinen Formatnavigationsleiste.
Darüber hinaus kann die SetLargeTitleDisplay
Methode verwendet werden, um die Enumerationswerte durch Aufrufen der LargeTitleDisplay
Methode umzuschalten, die den aktuellen LargeTitleDisplayMode
Wert zurückgibt:
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;
}
Das Ergebnis ist, dass auf das Page
angegebene LargeTitleDisplayMode
Element angewendet wird, das das große Titelverhalten steuert: