Скрыть панель навигации - PullRequest
17 голосов
/ 01 июля 2011

У меня 3 просмотра.(скажем 1-й, 2-й, 3-й).Я выдвинул 2-й вид (который имеет метод просмотра нагрузки) на 1-й.Во втором представлении я создал третий, используя initWithFrame (который унаследован от UIWebView).Во втором виде я написал self.view = третий вид.

Теперь я хочу скрыть панель навигации 2-го вида в 3-м виде (т. Е. Когда пользователь касается экрана 3-го вида, т.е. UIWebView).Я получил распознавание касания с помощью жеста, но не могу скрыть панель навигации.

3-й вид не поддерживает self.navigationController.И если я создаю объект второго вида в третьем, он не скрывает панель навигации.Кто-нибудь может мне помочь?

Ответы [ 4 ]

32 голосов
/ 02 сентября 2011

Хорошо. Поэтому вам нужно установить панель навигации скрытой сразу после создания контроллера навигации для этой вкладки. Вы не можете отрегулировать это после того, как вы нажимаете контроллер вида (насколько я знаю).

Если вы хотите, чтобы в первом представлении не было навигационной панели вверху, используйте это в своем appDelegate, где вы первоначально объявляете свои контроллеры навигации:

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

Если вы хотите, чтобы представления после этого были скрыты, то вам нужен viewController для последующих представлений, и вам нужно будет добавить

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

прямо перед вызовом этого:

[[self navigationController] pushViewController:theThirdViewController animated:YES];

Надеюсь, это поможет.

17 голосов
/ 14 июля 2011

Реализуйте это:

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

перед назначением третьего вида.то есть self.view = 3-й вид

0 голосов
/ 26 декабря 2018
- (void)viewDidLoad 
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

     [[self navigationController] setNavigationBarHidden:YES animated:YES];
    //[self dismissViewControllerAnimated:YES completion:NULL];
}
0 голосов
/ 07 апреля 2018

Обратите внимание, что код должен быть добавлен в метод viewWillAppear

-(void) viewWillAppear:(BOOL)animated
{
      self.navigationController.navigationBar.hidden = YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...