Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Эта платформа iOS используется для отображения заголовка страницы в виде большого NavigationPageзаголовка на панели навигации для устройств, использующих iOS 11 или более поздней версии. Большой заголовок выровнен по левому краю и использует более крупный шрифт и переходит к стандартному названию, так как пользователь начинает прокрутку содержимого, чтобы экран недвижимости эффективно использовался. Однако в альбомной ориентации заголовок возвращается в центр панели навигации для оптимизации макета содержимого. Он используется в XAML, задав NavigationPage.PrefersLargeTitles присоединенное свойство значением boolean :
<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>
Кроме того, его можно использовать из C# с помощью api fluent:
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> указывает, что эта платформа будет работать только в iOS. Метод NavigationPage.SetPrefersLargeTitle в Xamarin.Forms.PlatformConfiguration.iOSSpecific пространстве имен определяет, включены ли большие заголовки.
Если в стеке навигации включены NavigationPageбольшие заголовки, все страницы в стеке навигации будут отображать большие заголовки. Это поведение можно переопределить на страницах, задав Page.LargeTitleDisplay присоединенное свойство значением перечисления LargeTitleDisplayMode :
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
Title="Large Title"
ios:Page.LargeTitleDisplay="Never">
...
</ContentPage>
Кроме того, поведение страницы можно переопределить из C# с помощью api fluent:
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> указывает, что эта платформа будет работать только в iOS. Метод Page.SetLargeTitleDisplay в Xamarin.Forms.PlatformConfiguration.iOSSpecific пространстве имен управляет поведением большого заголовка в перечислении Page, LargeTitleDisplayMode предоставляющим три возможных значения:
Always— принудительно заставить панель навигации и размер шрифта использовать большой формат.Automatic— используйте тот же стиль (большой или маленький), что и предыдущий элемент в стеке навигации.Never— принудительное использование обычной панели навигации с небольшим форматом.
Кроме того, SetLargeTitleDisplay метод можно использовать для переключения значений перечисления путем вызова LargeTitleDisplay метода, который возвращает текущий 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;
}
Результатом является то, что к указанному LargeTitleDisplayMode объекту применяется Page, который управляет поведением большого заголовка:
