ナビゲーション コントローラーを使用してビューをプッシュ/ポップしようとしていますが、上部のバーにボタンを配置したくありません。ナビゲーションUIを自作しています。
そこで、AppDelegate に navigationController を作成しました。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[WSViewController alloc] initWithNibName:@"WSViewController" bundle:nil];
self.window.rootViewController = self.viewController;
self.navController = [[UINavigationController alloc]
initWithRootViewController: self.viewController];
[self.window makeKeyAndVisible];
return YES;
}
次に、私の WSViewController には、別のビューをナビゲーション スタックにプッシュする IBAction メソッドがあります (これが正しく行われていることを確認しました。スタック上に表示されます)。
- (IBAction)showInfo:(UIButton *)sender {
if (self.wsInfoViewController == nil) {
WSInfoViewController *wic = [[WSInfoViewController alloc] initWithNibName:@"WSInfoViewController" bundle:nil];
self.wsInfoViewController = wic;
}
[self.navigationController pushViewController:self.wsInfoViewController animated:YES];
}
しかし、WSViewController の情報ボタンをタップしても、情報ビューが表示されません (問題なく表示されます)。
navigationController をルート コントローラーにすると、情報ボタンをタップすると wsInfoViewControllerが表示されますが、上部にナビゲーション バーも表示されます。これは望ましくありません。
それで...最初に、ナビゲーションコントローラーをこのように使用できると考えるのは間違っていますか(つまり、スタックの目的で使用しますが、UIにはまったく使用しません)?
第二に、私が間違っていなければ、スタックにプッシュしているビューが表示されないのはなぜですか? ナビゲーションコントローラーをウィンドウに正しく接続していないためだと思いますが、その方法がわかりません。
ありがとう!!!
エリザベス