2016-06-13 7 views
0

私は、ページのポップとプッシュのためにすべてのアニメーションをオフにしようとしています。私はカスタムレンダラーを作った: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

答えて

1

つ以上のオーバーライドはそれを行う必要があります。

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

public override UIViewController[] PopToRootViewController(bool animated) 
{ 
    return base.PopToRootViewController(false); 
} 
関連する問題