3

に問題がありpopViewControllerます。

私はpushViewControllerに行くのに使用しますOrdersFormViewController

OrdersFormViewController *ordersFormViewController = [[OrdersFormViewController alloc] initWithNibName:@"OrdersFormViewController" bundle:nil];

[self.navigationController pushViewController:ordersFormViewController animated:YES];
[ordersFormViewController release];

からOrdersFormViewControllerUIAlertViewを表示しviewDidLoadて呼び出しますpopViewControllerが、これは機能しません。

UIAlertView* alertView = [[UIAlertView alloc]
                         initWithTitle:@"Error"
                         message:@"Error"
                         delegate:self
                         cancelButtonTitle:@"OK"
                         otherButtonTitles:nil];
[alertView show];
[alertView release];

[self.navigationController popViewControllerAnimated:YES];

ビューはnavigationControllerから「ポップ」されませんが、ナビゲーションバーの標準の戻るボタンを押すと、ナビゲーションバーのみが変更され、実際のビューは変更されません。

なぜこれが起こっているのか誰かが知っていますか?

4

5 に答える 5

7

同様の問題が発生しました。

[self.parentViewController.navigationController popViewControllerAnimated:YES];

お役に立てば幸いです。

于 2011-03-29T19:04:51.707 に答える
4

何を達成しようとしているのかわからない。viewDidAppearしかし、代わりにそれを追加してみてください。

viewDidLoad最初の呼び出しを行う前に呼び出される可能性がありpushViewControllerます。

于 2011-03-29T19:00:01.667 に答える
1

ユーザーがアラートを閉じるまで待つ必要があります。これにより、ユーザーの混乱が少なくなります。

あなたは私のコメントにそれがうまくいったと答えました、私が理解していないいくつかの魔法の理由のために。

于 2011-03-29T19:07:40.397 に答える
0

これはすべて-viewDidAppear:メソッドで行う必要があります。ここで呼び出されると、アニメーションシーケンスは現在進行中であり、コントローラーは実際にはまだ画面上でアニメーション化されていません。画面上でアニメーション化するまで待ってから、自分を却下します。

于 2011-03-29T19:01:47.760 に答える
0

マスター/詳細テンプレートからプロジェクトを作成した場合は、分割ビューコントローラーを削除します。

于 2019-04-27T08:53:32.940 に答える