0

右のバーボタンアイテムをクリックして、UITableView名前付きカートに移動しようとしています。これは、私が書いたボタンアクションイベントです。UIView

Cart *crtObj=[[Cart alloc]initWithNibName:@"Cart" bundle:nil];
[self.navigationController presentModalViewController:crtObj animated:YES];
[crtObj release];

そして、同じバーから左のバーボタンをクリックして、前にナビゲートtableViewしていますが、これは正しく機能します。同じコードは次のとおりです。

self dismissModalViewControllerAnimated:YES];

たくさん試してみましたが、何か提案してください。

4

2 に答える 2

0

//[self.navigationController presentModalViewController:crtObjアニメーション:YES];

// presentModalViewController

これを試して

  [self.navigationController pushViewController:crtObj animated:YES]
于 2012-06-18T06:04:42.517 に答える
0

なぜ[self.navigationControllerpresentModalViewController]を使用する必要があるのに、[self.navigationController pushViewController:crtObjアニメーション:YES]は使用しないのだろうか。

彼らは違う。

[self.navigationController presentModalViewController:ControllerA]は、画面の下部からControllerAのビューを表示するだけです。ControllerAは、uがナビゲートしているコントローラーとは関係ありません。(この方法が機能するかどうかはわかりません)

[self.navigationController pushViewController:ControllerAアニメーション:YES]はControllerAをnavigationControllerにプッシュし、uが順番にナビゲートしているコントローラーとともに保存されます。

urアプリの構造が単純になるため、2番目のものを使用することをお勧めします。

しかし、それでも最初の方法を使用したい場合。多分あなたはこのように試すことができます:

uがControllerAに移動し、代わりにControllerB呼び出し[ControllerApresentModalViewController:ControllerB]を表示したいとします。

于 2012-06-18T07:26:55.393 に答える