how to hide navigationbar when i push from navigation controller?

34,801

Solution 1

Put this code in the view controller you want to hide the navigation bar for.

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

And you may also want to stick this in there, depending on your needs:

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

Solution 2

Here's how to do it in Swift 3:

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

P.S. I found that if you set animated to false, a black bar appears on push. But when it is set to true it's smooth as silk!

Solution 3

For iOS 8 May be this work around could work it

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];
Share:
34,801

Related videos on Youtube

senthilM
Author by

senthilM

Updated on August 04, 2020

Comments

  • senthilM
    senthilM over 3 years

    how to hide top bar in UIViewcontroller when i push from navigation controller using pushViewController ? any help please?

  • fearmint
    fearmint over 14 years
    I would like to add to the question, how to make it hide/show when the user taps towards where it is. Ie: like in the photos app.
  • SinisterMJ
    SinisterMJ over 14 years
    You just put that setNavigationBarHidden call wherever you like, when you need to hide the nav bar.
  • three-blocks
    three-blocks about 7 years
    @Ed Marty Can we hide the navigation bar in storyboard?
  • ElOjcar
    ElOjcar almost 5 years
    Thanks! It's also useful the method hidesBottomBarWhenPushed()