Velké nadpisy stránek v iOS
Tato specifická platforma pro iOS se používá k zobrazení názvu stránky jako velkého nadpisu v navigačním panelu v NavigationPage , pro zařízení, která používají iOS 11 nebo novější. Velký název se zarovnává vlevo a používá větší písmo a přechází na standardní název, protože uživatel zahájí posouvání obsahu, aby se na obrazovce efektivně používala skutečná obrazovka. V orientaci na šířku se ale nadpis vrátí do středu navigačního panelu, aby se optimalizoval rozložení obsahu. Je spotřebované v jazyce XAML nastavením NavigationPage.PrefersLargeTitles připojené vlastnosti na boolean hodnotu:
<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>
Alternativně se dá využít z C# s využitím rozhraní Fluent API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
var navigationPage = new Xamarin.Forms.NavigationPage(new iOSLargeTitlePageCS());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);
NavigationPage.On<iOS>Metoda určuje, že tato specifická platforma bude spuštěna pouze v iOS. NavigationPage.SetPrefersLargeTitleMetoda v Xamarin.Forms.PlatformConfiguration.iOSSpecific oboru názvů Určuje, zda jsou povoleny velké tituly.
Za předpokladu, že jsou na portálu povoleny velké tituly NavigationPage , budou na všech stránkách v navigačním zásobníku zobrazeny velké tituly. Toto chování lze přepsat na stránkách nastavením Page.LargeTitleDisplay připojené vlastnosti na hodnotu LargeTitleDisplayMode výčtu:
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Large Title"
ios:Page.LargeTitleDisplay="Never">
...
</ContentPage>
Alternativně je možné chování stránky přepsat z C# pomocí rozhraní Fluent API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
public class iOSLargeTitlePageCS : ContentPage
{
public iOSLargeTitlePageCS(ICommand restore)
{
On<iOS>().SetLargeTitleDisplay(LargeTitleDisplayMode.Never);
...
}
...
}
Page.On<iOS>Metoda určuje, že tato specifická platforma bude spuštěna pouze v iOS. Page.SetLargeTitleDisplayMetoda v Xamarin.Forms.PlatformConfiguration.iOSSpecific oboru názvů řídí chování velkého nadpisu v Page s LargeTitleDisplayMode výčtem, který poskytuje tři možné hodnoty:
Always– Vynutí použití velkého formátu pro navigační panel a velikost písma.Automatic– použijte stejný styl (velký nebo malý) jako předchozí položka v navigačním zásobníku.Never– Vynutí použití obyčejného a malého formátu navigačního panelu.
Kromě toho SetLargeTitleDisplay lze metodu použít k přepínání hodnot výčtu voláním LargeTitleDisplay metody, která vrací aktuální 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;
}
Výsledkem je, že zadaný LargeTitleDisplayMode je použit na Page , který řídí chování velkého nadpisu:

Stažení ukázky