1

我在 rootController 中添加导航栏,如下面的 appdelegate

@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];

4

5 回答 5

2

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

[self.navigationController setNavigationBarHidden: YES animated:NO];
于 2013-04-11T07:18:49.170 回答
0

我认为这会很好..

[self.navigationController setNavigationBarHidden: YES animated:YES];
于 2013-04-11T07:20:27.163 回答
0

在您不想显示导航栏的视图控制器的 -(void)viewWillAppear 方法中尝试此操作。

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

    [super viewWillAppear:animated];
}
于 2013-04-11T07:23:43.803 回答
0

而是使用...

  [window addSubview:navController.view];

用这个...

  [window addSubview:self.navController];

在你的 viewControllers 中,使用这个......

  self.navigationController.navigationBarHidden = YES;
于 2013-04-11T07:30:02.243 回答
0

对于 iOS < 6.0 使用

[self.window addSubview:navigationController.view];

对于 iOS >= 6.0 使用

[self.window setRootViewController:navigationController];
于 2013-04-11T07:32:39.257 回答