我的导航栏没有隐藏,为什么?

时间:2012-01-31 06:39:28

标签: iphone ios uinavigationcontroller navigation uinavigationbar

非常愚蠢的问题,但我搞砸了。

我的问题是,我有两个控制器。第一个控制器有一个UITableview没有导航栏现在当我选择它将进入其相应的控制器的单元格时,它有导航栏。现在我将返回到第一个控制器导航栏不应该显示它应该被隐藏。我怎么能解决这个问题。对我来说很难。

[self.navigationController.navigationBar setHidden:YES];

到现在为止我已经使用过它,但它没有用。

请给我解决方案。

提前致谢

编辑:第一个视图控制器---->在viewDidLoad和ViewWillAppear中,我使用[self.navigationController.navigationBar setHidden:YES];在第二个视图控制器的viewDidLoad和ViewWillAppear中,我使用了[self.navigationController.navigationBar setHidden:NO];

** EDIT2:

第一个视图控制器 - >

- (void)viewDidLoad { 
  [super viewDidLoad];  
  [self.navigationController.navigationBar setHidden:YES];

并在视图中显示......

 -(void)viewWillAppear:(BOOL)animated{ 

  [self.navigationController setNavigationBarHidden:YES]; 

第二个控制器 - >

- (void)viewDidLoad { 

  [super viewDidLoad];
  [self.navigationController.navigationBar setHidden:NO]; 

在视图中会出现--->

  -(void)viewWillAppear:(BOOL)animated{ 

     [self.navigationController setNavigationBarHidden:NO];

编辑 * 答案 *

我刚刚使用

[self.navigationController viewWillAppear:YES]; 

在第一个和第二个控制器的viewDidLoad中。

2 个答案:

答案 0 :(得分:7)

您必须在第一个控制器的[self.navigationController.navigationBar setHidden:YES];方法中编写viewWillAppear

还可以尝试:[self.navigationController setNavigationBarHidden:YES];

答案 1 :(得分:0)

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

或者请尝试这个

    self.navigationController.navigationBarHidden = TRUE;