0

私のデリゲートクラスにはこれがあります-

BluenibViewController *mvc = [[BluenibViewController alloc] init];
UINavigationController *unvc = [[UINavigationController alloc] init];
[unvc pushViewController:mvc animated:NO];
[mvc release];
[self.window addSubview:unvc.view];
[self.window makeKeyAndVisible];
return YES;

そして私のBluenibViewControllerにはこのメソッドがあります-

-(IBAction) BookingsViewController:(id)sender

{
    bookingsViewController1 = [[BookingsViewController alloc]
                              initWithNibName:@"BookingsViewController"
                              bundle:nil];

UINavigationController *navController = self.navigationController;
[navController pushViewController:bookingsViewController1 animated:YES];


self.title = @"Bookings";
[self.window makeKeyAndVisible];
[self.view addSubview:bookingsViewController1.view];
[navController release];
[bookingsViewController1 release];

}

この方法をクリックすると、次のビューに移動できますが、ナビゲーションバーに戻るボタンがありません。

私がしているばかげた間違いを指摘してください。

4

4 に答える 4

2

unvc.viewのサブビューとして追加しないでくださいself.windowunvc次のように割り当てる必要がありますself.window.rootViewController

self.window.rootViewController = unvc;

(メソッド内で)bookingsViewController1.viewのサブビューとして追加しないでください。あなたがそれを押した後、ナビゲーションコントローラーは画面に入るのを世話します。self.viewBookingsViewController:bookingsViewController1.view

于 2012-09-28T22:20:06.520 に答える
2

ここにかなりの数のエラーがあります。私がなんらかのサービスを受けられないかどうか見てみましょう。

まず、ナビゲーションコントローラー[navControllerリリース]を過剰にリリースしていることがわかります。

次に、プロジェクト全体でウィンドウキー/表示を1回だけ行う必要があります。navControllerをウィンドウのrootViewControllerとして設定し、キー/表示にします。そうすれば、ウィンドウに対して何もする必要がなくなります。それが何かを壊しているとは思わないが、最初の呼び出しを超えてキー/可視にするためにすべての呼び出しを削除する必要があります。

最終的に、新しいViewControllerをプッシュすると次のようになります。

[self.navigationController pushViewController:[[[BookingsViewController alloc] init] autorelease]アニメーション:YES];

探しているものを手に入れるために他に何も必要ないはずです。

于 2012-09-28T22:57:54.300 に答える
0
self.navigationItem.hidesBackButton =YES;  

このコードに従ってください。それが役に立てば幸い ....

于 2012-10-01T11:49:49.790 に答える
0

少し遅れますが、iOS8では次のことができます。

[self.navigationController pushViewController:secondViewController animated:YES];
于 2015-04-22T06:58:55.543 に答える