UINavigationController.navigationBar setHidden:NO 行不通?

UINavigationController.navigationBar setHidden:NO doesn't work?

我有一个 HomeViewController 它有一个 属性 searchViewController.

HomeViewControllersearchViewControllerDelegate 的代表,这样当我点击 searchViewController.view 中的按钮时我可以弹出 searchViewController (我使用 pushViewControllerAnimated: 来推送searchViewController 进入视图控制器堆栈。

我想在searchViewController弹出的时候显示navigationBar

但是

[self.navigationController.navigationBar setHidden:NO];

绝对不行。

我已经检查过 navigationBar 不是 nil 所以我不知道问题出在哪里。

实际代码

#pragma mark - HomeTabSearchTableViewDelegate
-(void)parentViewControllerPop{
    [self.navigationController popViewControllerAnimated:YES];
    [self.navigationController.navigationBar setHidden:NO];
}

searchViewController弹出成功,只是navigationBar问题。

在你的 HomeViewController

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO];   //shows  

    //or use like
   // [[self navigationController] setNavigationBarHidden:NO animated:YES];
}

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

      //or use like
   // [[self navigationController] setNavigationBarHidden:YES animated:YES];
}