非常に単純な質問: 私の iPhone アプリには MainWindow.xib にボタンがあります。そのボタンを押すと、新しいビューが読み込まれます。そのビューには、素敵なナビゲーション コントローラーが含まれます。どうやってやるの?
私が見つけたすべての情報は、ナビゲーション コントローラーから直接起動するアプリに関するものです。ボタンをクリックした後、ナビゲーションコントローラーをロードする必要があります。
どうもありがとう!
非常に単純な質問: 私の iPhone アプリには MainWindow.xib にボタンがあります。そのボタンを押すと、新しいビューが読み込まれます。そのビューには、素敵なナビゲーション コントローラーが含まれます。どうやってやるの?
私が見つけたすべての情報は、ナビゲーション コントローラーから直接起動するアプリに関するものです。ボタンをクリックした後、ナビゲーションコントローラーをロードする必要があります。
どうもありがとう!
これに対処する別の方法は、ルート コントローラーでナビゲーション バーを単純に非表示にすることです。
- (void) viewDidLoad {
...
if (![self.navigationController isNavigationBarHidden])
[self.navigationController setNavigationBarHidden:YES animated:NO];
...
}
そうすれば、邪魔にならないナビゲーション バーのないきれいなルート コントローラーができあがります。
ルート コントローラーのボタンをクリックすると、新しいビューがプッシュされ、ナビゲーション バーの非表示が解除されます。
- (IBAction) pushAnotherView:(id)sender {
AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherViewController" bundle:nil];
[self.navigationController pushViewController:anotherViewController animated:YES];
if ([self.navigationController isNavigationBarHidden])
[self.navigationController setNavigationBarHidden:NO animated:YES];
[anotherViewController release];
}
ルート ビュー コントローラーに戻る通知またはその他のアクションがある場合は、通知バーをもう一度非表示にします。
- (void) viewWillAppear:(BOOL)animated {
if (![self.navigationController isNavigationBarHidden])
[self.navigationController setNavigationBarHidden:YES animated:YES];
[super viewWillAppear:animated];
}