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

StackOverflow https://stackoverflow.com/questions/1617565

Вопрос

как скрыть верхнюю панель в UIViewController ( пользовательский контроллер ) когда я нажимаю с навигационного контроллера, используя Контроллер pushViewController ?пожалуйста, любая помощь?

Это было полезно?

Решение

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

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

И вы также можете добавить это туда, в зависимости от ваших потребностей:

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

Другие советы

Вот как это сделать в Быстрый 3:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

P.S.Я обнаружил, что если вы установите animated равным false, при нажатии появляется черная полоса.Но когда он установлен на true она гладкая, как шелк!

Для iOS 8 Может быть, эта работа может обойтись

CATransition* transition = [CATransition animation];
        transition.duration = 0.3;
        transition.type = kCATransitionPush;
        transition.subtype = kCATransitionFromRight;
        [self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
        [self.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [self.navigationController pushViewController:productViewObj animated:FALSE];
        [productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE];
        [productViewObj release];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top