Подтвердить что ты не робот

Скрыть панель навигации

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

прямо перед тем, как вы вызовете это:

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

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

Ответ 2

Внедрите это:

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

перед назначением 3-го представления. это self.view = 3rd view

Ответ 3

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

-(void) viewWillAppear:(BOOL)animated
{
      self.navigationController.navigationBar.hidden = YES;
}

Ответ 4

- (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];
}