2016-11-29 10 views
2

アプリケーションのメインページを「マスター詳細」ページに設定するときに、ナビゲーションバーを非表示にする方法を理解できません。マスターディテールページがアプリケーションのメインページでない場合、ナビゲーションバーは正しく隠れていますが、私が何をしてもメインページであればナビゲーションバーを非表示にすることはできません。Xamarin Forms Masterの詳細ページメインページHide Navigation Bar

マスターページ、詳細ページ、オーバーライドされたOnAppearingメソッドのコンストラクタで、次の操作を試みましたが、ナビゲーションバーは隠されませんでした。

NavigationPage.SetHasNavigationBar(this、false); NavigationPage.SetHasBackButton(this、false);

私は同様のロジックをXAMLで直接試しましたが、決して隠されません。最初にメインページを別のページに設定すると、ナビバーが正しく隠れるマスター/ディテールページに進むことができます。

ご意見/ご提案はありますか? Androidの実装については

答えて

2

、あなたのMainActivity.csに次の行を追加します。iOS用

global::Xamarin.Forms.Forms.SetTitleBarVisibility(Xamarin.Forms.AndroidTitleBarVisibility.Never); 

、プロセスは、カスタムレンダラが必要ですが、それは本当に基本です:

public class iOSCustomMobilePageRenderer : PageRenderer 
{ 
    public override void ViewWillAppear(bool animated) { 
     base.ViewWillAppear(animated); 


     if (ViewController != null && ViewController.ParentViewController != null && ViewController.ParentViewController.NavigationController != null) { 

      if (ViewController.ParentViewController.NavigationController.NavigationBar != null) 
       ViewController.ParentViewController.NavigationController.SetNavigationBarHidden(true, false); 
     } 
    } 
} 
関連する問題