iOS - не удается скрыть панель навигации на первой странице - PullRequest
0 голосов
/ 25 августа 2018

У меня есть контроллер навигации после контроллера панели вкладок, как это

this

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

Я сделал следующее:

  1. снимите флажок «Показывает панель навигации» на контроллере навигации
  2. добавить этот код в «viewWillAppear» на первой странице ViewController:

[[self navigationController] setNavigationBarHidden: YES animated: YES];

Когда я нажимаю кнопку «Назад», она показывает страницу моего заставки, если я иду дальше, она переходит на первую страницу, но панель навигации скрыта.

Это страница, когда я открываю приложение

this is the page when I open the application

Это когда я нажимаю назад и захожу на ту же страницу

this is when i click back

Вы знаете, что я пропустил, чтобы скрыть панель навигации с самого начала.

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Прежде всего, я пойду, чтобы решить вашу проблему. И тогда я сообщу о UINavigationController.

Таким образом, вы используете SB для создания некоторых viewControllers в Main.storyboard. Эти viewControllers должны наследовать UITabBarController, UINavigationController или ViewController. Я вижу ваш скриншот, который является правильным , в противном случае ваш скриншот неясен.

Если вы хотите отредактировать или просмотреть макет, вам нужно создать ViewController и сопоставить этот ViewController с параметром Main.storyBoard. Я протестирую эти операции. Вы можете это сделать.

ViewControllers Match this И тогда эти ViewController наследуют соответствие ViewController.

HomeTabBarViewController

HomeTabBar HandCode ScreenShot

FirstViewController FirstVC

SecondViewController

SecondVC

Как уже упоминалось выше, это очень ясно. Если вы хотите скрыть панель навигации на этой первой странице, вы должны написать рукописный код в FirstViewController. Также вы работаете в viewWillAppear:

self.navigationController.navigationBar.hidden = YES;

вот и все.

Если рукописный код скрытого навигационного бара в HomeTabBarViewController наследует UITabBarController, потому что навигационный контроллер - следующий ViewController, который не работает в скрытом коде.

Таким образом, UINavigationController имеет автоматическое создание панели навигации. Вы не хотите показывать эту панель навигации для использования скрытой панели навигации в viewWillAppear. А также вы хотите скрыть эту страницу и показ следующей страницы, вы можете это viewWillAppear скрыть viewWillDisAppear показать.

Я хочу помочь вам решить проблему.

0 голосов
/ 25 августа 2018

вы можете сделать это так.

localNavigationController = [[UINavigationController alloc] initWithRootViewController:theViewController];
[localNavigationController setNavigationBarHidden:YES animated:YES];
...