Xamarin 表单:iOS 上没有动画的导航弹出

Xamarin forms: Navigation popping without animation on 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);
}