在将应用程序主页面设置为“主 - 详细信息”页面时,我无法弄清楚如何隐藏导航栏。如果主 - 详细信息页面不是应用程序的主页面,则导航栏会正确隐藏,但无论我做什么,如果它是主页面,我都无法隐藏导航栏。
我在母版页的构造函数,详细信息页面以及重写的OnAppearing方法中尝试了以下内容,但导航栏永远不会隐藏。
NavigationPage.SetHasNavigationBar(this,false); NavigationPage.SetHasBackButton(this,false);
我也在XAML中直接尝试过类似的逻辑,但它从未隐藏过。如果我首先将我的MainPage设置为另一个页面,那么只需向前导航到导航栏正确隐藏的主 - 详细信息页面。
任何想法/想法?
答案 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);
}
}
}