it-swarm.com.ru

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

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

37
senthil.Freelancer

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

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

Вот как это сделать в Swift 3 :

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

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

7
dustinrwh

Для 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];
0
Zahur