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);
}
我正在尝试关闭弹出和推送页面的所有动画。我做了一个自定义渲染器:
[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);
}