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); 
}