【问题标题】:Xamarin forms: Navigation popping without animation on iOSXamarin 表单:iOS 上没有动画的导航弹出
【发布时间】:2016-06-13 14:13:41
【问题描述】:

我正在尝试关闭所有弹出和推送页面的动画。我做了一个自定义渲染器:

[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。有没有其他人遇到过这个问题并找到了解决方法?

【问题讨论】:

    标签: ios animation xamarin xamarin.forms renderer


    【解决方案1】:

    CustomNavigationPageRenderer 中的另外两个覆盖应该可以做到这一点:

    public override UIViewController PopViewController(bool animated)
    {
        return base.PopViewController(false);
    }
    
    public override UIViewController[] PopToRootViewController(bool animated)
    {
        return base.PopToRootViewController(false);
    }
    

    【讨论】:

      猜你喜欢
      • 2014-11-14
      • 1970-01-01
      • 2015-09-24
      • 2020-05-30
      • 2020-11-22
      • 2023-03-16
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      相关资源
      最近更新 更多