1

appdelegate で以下のように 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 ナビゲーションバーを非表示にしますが、非表示ではありません。間違っていることを教えてください。

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

アプリケーションがラインの上に到達するとクラッシュする [self.navigationController setNavigationBarHidden: YES animation:NO];

4

5 に答える 5

2

appDelegate には navController へのリンクがありませんが、viewController にはリンクがあります。したがって、コードを次のように変更します。

[self.navigationController setNavigationBarHidden: YES animated:NO];
于 2013-04-11T07:18:49.170 に答える
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 に答える
0

ナビゲーション バーを表示したくないビュー コントローラーの -(void)viewWillAppear メソッドでこれを試してください。

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

    [super viewWillAppear:animated];
}
于 2013-04-11T07:23:43.803 に答える