Xamarin表单:iOS上没有动画的导航弹出
问题描述:
我试图关闭弹出和推送页面的所有动画。我做了一个自定义的渲染器:Xamarin表单:iOS上没有动画的导航弹出
[assembly: ExportRenderer(typeof(NavigationPage), typeof(CustomNavigationPageRenderer))]
namespace MyNamespace
{
public class CustomNavigationPageRenderer : NavigationRenderer
{
protected override Task<bool> OnPushAsync(Page view, bool animated)
{
return base.OnPushAsync(view, false);
}
protected override Task<bool> OnPopViewAsync(Page page, bool animated)
{
return base.OnPopViewAsync(page, false);
}
protected override Task<bool> OnPopToRoot(Page page, bool animated)
{
return base.OnPopToRoot(page, false);
}
}
推送工作完美,从不显示动画。同样的渲染器也可以在Android上完美运行。但OnPopViewAsync始终在弹出窗口后调用,因此会显示动画。我正在使用Xamarin.Forms v2.3.0.46-pre3。是否有其他人遇到这个问题并找到解决方法?在CustomNavigationPageRenderer
答
两个以上的覆盖应该这样做:
public override UIViewController PopViewController(bool animated)
{
return base.PopViewController(false);
}
public override UIViewController[] PopToRootViewController(bool animated)
{
return base.PopToRootViewController(false);
}