iOS Xamarin.Forms 中的 11 个大标题

iOS 11 large titles in Xamarin.Forms

如何在我的 Xamarin.Forms 应用程序中启用 iOS 11 prefersLargeTitles

我尝试为 NavigationPage 创建一个派生自 PageRenderer 的自定义渲染器,设置:

ViewController.NavigationController.NavigationBar.PrefersLargeTitles = true;

然而,这没有任何效果。

[assembly: ExportRenderer(typeof(NavigationPage), typeof(NavBarRenderer))]
namespace LargeTitleSample.iOS
{
    public class NavBarRenderer : NavigationRenderer
    {
        protected override void OnElementChanged(Xamarin.Forms.Platform.iOS.VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            NavigationBar.PrefersLargeTitles = true;
        }
    }
}

您必须为继承 NavigationRendererNavigationPage 创建自定义渲染器。然后将 NavigationBar 上的 PrefersLargeTitles 属性 设置为 true.

好像在页面上加了一些可滚动的控件,向上滚动的时候会自动有'big to small'的效果,至少是ListView.

工作示例回购在这里:https://github.com/jfversluis/LargeTitleSample

对于XAML:

<NavigationPage Title="..." xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core" ios:NavigationPage.PrefersLargeTitles="true">