2016-11-29 210 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); 
     } 
    } 
}