2016-11-29 169 views
2

我無法弄清楚如何在將我的應用程序主頁面設置爲「主 - 細節」頁面時隱藏導航欄。如果主詳細信息頁面不是應用程序的主頁面,則導航欄隱藏正確,但無論我做什麼,如果它是主頁面,都無法隱藏導航欄。Xamarin Forms主頁細節頁面主頁隱藏導航欄

我已經在母版頁,詳細頁面的構造函數和重寫的OnAppearing方法中嘗試了以下操作,但導航欄永遠不會隱藏。

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

我也直接在XAML中嘗試過類似的邏輯,但它永遠不會隱藏。如果我首先將我的MainPage設置到另一個頁面,那麼只需導航到導航欄隱藏正確的主頁面。

有什麼想法/想法?

回答

2

爲Android落實,以下內容添加到您的MainActivity.cs:

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

對於iOS,該過程需要一個定製的渲染器,但它確實基本:

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); 
     } 
    } 
}