Правильно управлять панелью навигации и панелью вкладок - PullRequest
0 голосов
/ 06 июня 2018

На рисунке показана моя раскадровка с указанием сегментов.

storyboard

В контроллере посадки tabBar (т. Е. I) и tabBar, и navBarВидно, что желательно.Однако, если выполняется переход (от I) к другому контроллеру представления (здесь, II), я хочу только navBar.Я могу скрыть панель вкладок, используя

self.tabBarController?.tabBar.isHidden = true

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

enter image description here

Эта конфигурация добавит навигационную панель к диспетчерам просмотра вперед (например, заставке), поэтому мне придется скрыть навигационную панель в этих контроллерах.

Есть ли другой метод, который неТребуется скрыть планку (и) и добиться желаемого эффекта?

1 Ответ

0 голосов
/ 06 июня 2018

Вы должны пойти с вашим первым подходом.Контроллер панели вкладок имеет свойство по умолчанию для скрытия нижней панели.См. Ниже пример кода.

    ViewController *viewController = [[ViewController alloc] init];
viewController.hidesBottomBarWhenPushed = YES;  // This property needs to be set before pushing viewController to the navigationController's stack. 
[self.navigationController pushViewController:viewController animated:YES];

Это скрывает панель вкладок при нажатии на любые дочерние контроллеры.

EDIT

Вы также можете установить hidesBottomBarwhenpressed из раскадровки для панели вкладок.контроллер, так что вам не нужно записывать какой-либо код.

...