Tytuły dużych stron w systemie iOS
Ta platforma systemu iOS służy do wyświetlania tytułu strony jako dużego tytułu na pasku nawigacyjnym NavigationPage
elementu , dla urządzeń korzystających z systemu iOS 11 lub nowszego. Duży tytuł jest wyrównany do lewej i używa większej czcionki, a przejście do standardowego tytułu rozpoczyna przewijanie zawartości, dzięki czemu nieruchomości ekranu są używane wydajnie. Jednak w orientacji poziomej tytuł powróci do środka paska nawigacyjnego, aby zoptymalizować układ zawartości. Jest on używany w języku XAML przez ustawienie dołączonej NavigationPage.PrefersLargeTitles
boolean
właściwości na wartość:
<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>
Alternatywnie można go używać z języka C# przy użyciu płynnego interfejsu API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
var navigationPage = new Xamarin.Forms.NavigationPage(new iOSLargeTitlePageCS());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);
Metoda NavigationPage.On<iOS>
określa, że ta platforma będzie działać tylko w systemie iOS. Metoda NavigationPage.SetPrefersLargeTitle
w Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw określa, czy są włączone duże tytuły.
Pod warunkiem, że duże tytuły są włączone na NavigationPage
stronie , wszystkie strony w stosie nawigacji będą wyświetlać duże tytuły. To zachowanie można zastąpić na stronach, ustawiając Page.LargeTitleDisplay
dołączoną właściwość na wartość LargeTitleDisplayMode
wyliczenia:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Large Title"
ios:Page.LargeTitleDisplay="Never">
...
</ContentPage>
Alternatywnie zachowanie strony można zastąpić za pomocą języka C# przy użyciu płynnego interfejsu API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
public class iOSLargeTitlePageCS : ContentPage
{
public iOSLargeTitlePageCS(ICommand restore)
{
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never);
...
}
...
}
Metoda Page.On<iOS>
określa, że ta platforma będzie działać tylko w systemie iOS. Metoda Page.SetLargeTitleDisplay
, w Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw, kontroluje duże zachowanie tytułu w Page
obiekcie , z LargeTitleDisplayMode
wyliczeniem zapewniającym trzy możliwe wartości:
Always
— wymusić użycie dużego formatu paska nawigacyjnego i rozmiaru czcionki.Automatic
— użyj tego samego stylu (dużego lub małego) co poprzedni element w stosie nawigacji.Never
— wymusza użycie zwykłego, małego paska nawigacyjnego formatu.
Ponadto SetLargeTitleDisplay
metoda może służyć do przełączania wartości wyliczenia przez wywołanie LargeTitleDisplay
metody , która zwraca bieżący LargeTitleDisplayMode
element :
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;
}
Wynikiem jest zastosowanie określonego LargeTitleDisplayMode
Page
elementu do elementu , który kontroluje zachowanie dużego tytułu: