隐藏导航栏的问题

时间:2013-04-11 07:15:33

标签: ios navigationbar

我在appConlegate

中添加了如下所示的rootController中的导航栏
@property (strong, nonatomic) UINavigationController *navController;
@synthesize navController;


birthDateTableViewController =[[BirthDateTableViewController alloc]initWithNibName:@"BirthDateTableViewController" bundle:nil];



navController = [[[UINavigationController alloc]initWithRootViewController:birthDateTableViewController]autorelease];


[window addSubview:navController.view];
[window makeKeyAndVisible];
 return YES;

现在因为我想在其他视图中隐藏它,因为它们有自己的导航栏      所以我使用以下代码隐藏rootViewControllers导航栏,但它没有隐藏请告诉我我做错了我这样做是为了隐藏在viewDidLoad

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.navController setNavigationBarHidden: YES animated:NO];

应用程序在到达上一行时会崩溃          我试过这个不起作用          [self.navigationController setNavigationBarHidden:YES animated:NO];

5 个答案:

答案 0 :(得分:2)

您的appDelegate没有指向navController的链接,但您的viewController有一个!因此,请更改以下代码:

[self.navigationController setNavigationBarHidden: YES animated:NO];

答案 1 :(得分:0)

我认为这样可以正常工作..

[self.navigationController setNavigationBarHidden: YES animated:YES];

答案 2 :(得分:0)

在你的视图控制器中尝试这个 - (void)viewWillAppear方法,你不想在其中显示导航栏。

- (void)viewWillAppear:(BOOL)animated
{
     self.navigationController.navigationBarHidden = YES;

    [super viewWillAppear:animated];
}

答案 3 :(得分:0)

而是使用......

  [window addSubview:navController.view];

使用此...

  [window addSubview:self.navController];

在viewControllers中,使用此...

  self.navigationController.navigationBarHidden = YES;

答案 4 :(得分:0)

适用于iOS< 6.0使用

[self.window addSubview:navigationController.view];

对于iOS> = 6.0使用

[self.window setRootViewController:navigationController];