当我将应用程序主页设置为“主从”页面时,我无法弄清楚如何隐藏导航栏。如果主从页面不是应用程序的主页,则导航栏会正确隐藏,但无论我做什么,如果它是主页,我都无法隐藏导航栏。
我在母版页、详细信息页的构造函数以及两者的重写 OnAppearing 方法中尝试了以下操作,但导航栏从未隐藏。
NavigationPage.SetHasNavigationBar( this, false ); NavigationPage.SetHasBackButton( this, false );
我也直接在 XAML 中尝试过类似的逻辑,但它永远不会隐藏。如果我首先将 MainPage 设置到另一个页面,然后向前导航到主从页面,导航栏会正确隐藏。
有什么想法/想法吗?
最佳答案
对于 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);
}
}
}
关于c# - Xamarin Forms 主详细信息页面主页隐藏导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40873545/