how to hide navigationbar when i push from navigation controller?

和自甴很熟 提交于 2019-11-26 16:04:56

问题


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


回答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];
}



回答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!




回答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];


来源:https://stackoverflow.com/questions/1617565/how-to-hide-navigationbar-when-i-push-from-navigation-controller

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!