我在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];
答案 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];