2016-11-29 2 views
2

Я не могу понять, как скрыть панель навигации при настройке главной страницы приложений на страницу «главная страница». Если страница мастер-детали НЕ является главной страницей приложения, то панель навигации скрывается правильно, но независимо от того, что я делаю, я не могу скрыть навигационную панель, если она является главной страницей.Xamarin Forms Master Detail Page Главная страница Скрыть панель навигации

Я пробовал следующее в конструкторе главной страницы, страницы подробностей и в переопределенном методе OnAppearing, но nav bar никогда не скрывается.

NavigationPage.SetHasNavigationBar (это, неверно); NavigationPage.SetHasBackButton (это, ложь);

Я также пробовал аналогичную логику непосредственно в XAML, но он никогда не скрывается. Если я сначала установил свой MainPage на другую страницу, тогда просто перейдите на страницу мастер-детали, на которой навигационная панель скрывается правильно.

Любые мысли или идеи?

ответ

2

Для андроида реализации, добавьте следующее к MainActivity.cs:

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

Для прошивки, процесс требует пользовательского средства визуализации, но это на самом деле основные:

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); 
     } 
    } 
} 
Смежные вопросы