Как нажать UIViewController с Nav, когда внутри View Controller без панели навигации - PullRequest
0 голосов
/ 27 декабря 2011

Я показываю UINavigationController модально.Для контроллера корневого представления я не хочу показывать панель навигации.

Однако для более глубоких контроллеров я хочу показать это.

Я, хотя и делал что-то подобное внутри моегоконтроллер корневого представления:

-(void) viewWillAppear:(BOOL)animated
{
    [self.navigationController.navigationBar setHidden:YES];
}

-(void) viewWillDisappear:(BOOL)animated
{
    [self.navigationController.navigationBar setHidden:NO];
}

Однако это создает проблемы, когда я возвращаюсь от первого контроллера представления к корневому контроллеру представления.Панель навигации исчезает после нажатия кнопки «назад» (внутри первого контроллера представления, оставляя пустое пространство), а не только после завершения загрузки rootViewController.(Очевидно, потому что мой код использует viewWillAppear)

Есть ли решение для него?

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

Оцените любые предложения.

1 Ответ

1 голос
/ 27 декабря 2011

Это должно сделать это, я не проверял это, но должно работать теоретически:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}
...