如何启用 iOS 11 prefersLargeTitles贯穿我的 Xamarin.Forms 应用?
我尝试为 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;
}
}
}
您必须为继承 NavigationRenderer
的 NavigationPage
创建自定义渲染器。然后将 NavigationBar
上的 PrefersLargeTitles
属性设置为 true。
看起来当你在页面上添加一些可滚动的控件时,它会在向上滚动时自动具有“从大到小”的效果,至少对于 ListView
是这样。
工作示例 repo 在这里:https://github.com/jfversluis/LargeTitleSample
关于xamarin.forms - Xamarin.Forms 中的 iOS 11 大标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46350875/