Xamarin表单主页详细信息页面主页隐藏导航栏

时间:2016-11-29 18:50:18

标签: c# xamarin xamarin.forms master-detail

在将应用程序主页面设置为“主 - 详细信息”页面时,我无法弄清楚如何隐藏导航栏。如果主 - 详细信息页面不是应用程序的主页面,则导航栏会正确隐藏,但无论我做什么,如果它是主页面,我都无法隐藏导航栏。

我在母版页的构造函数,详细信息页面以及重写的OnAppearing方法中尝试了以下内容,但导航栏永远不会隐藏。

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

我也在XAML中直接尝试过类似的逻辑,但它从未隐藏过。如果我首先将我的MainPage设置为另一个页面,那么只需向前导航到导航栏正确隐藏的主 - 详细信息页面。

任何想法/想法?

1 个答案:

答案 0 :(得分: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);
        }
    }
}