0

私は、ルートとしてpresentModalViewControllerを使用して初期化されたビューコントローラを備えたナビゲーションコントローラを提示しています。しかし、別のビューコントローラをこの新しいナビゲーションスタックにプッシュすると、戻るボタンを2回押して元のビューをモーダルに戻す必要があります。なぜこのようなことが起こるのか?新しいビューコントローラが元のナビゲーションコントローラにプッシュされ、次にモーダルビューコントローラのナビゲーションコントローラにプッシュされる可能性はありますか?ナビゲーションコントローラの問題

私のコードのオリジナルナビゲーションコントローラで:

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addViewController]; 
[self.navigationController presentModalViewController:navController animated:YES]; 
[addViewController release]; 
[navController release]; 

そしてモーダルビュー内の私のコード:

PriorityViewController *priorityView = [[PriorityViewController alloc] initWithNibName:@"PriorityView" bundle:nil]; 
priorityView.taskInfo = self.taskInfo; 
priorityView.isAdding = YES; 
[self.navigationController pushViewController:priorityView animated:YES]; 
[priorityView release]; 

答えて

0

私は自分の問題を考え出しました。私はビューコントローラとナビゲーションコントローラをうまく処理していました。しかし、新しいコントローラをナビゲーションコントローラスタックにプッシュするためにテーブルビューを使用していました。そして、私のテーブルビュー内の行選択を処理するswitch文はbreak文がなかったので、もしそれが意味をなさないならば、その行に意味されるものの代わりに2つの事例が呼び出されていました。

+1

それはあなたがそれを "壊していない"ために壊れていたのですか? :-) – Rayfleck

+0

ハハ、それはすごい馬鹿げです。そして、これは唯一のフォーラムです。:)それが働いている限り、私は笑うことができます – gurooj

+1

人生では、あなたは笑うことができる、またはあなたは泣くことができます。誰もが選ぶ必要があります。 – Rayfleck

0

あなたは2つのナビゲーションスタックを持っている - あなたはモーダルナビゲーションコントローラを提示しています。

ちょうどこのように、いずれかを使用します。

[self.navigationController presentModalViewController:addViewController animated:YES]; 
[addViewController release]; 
+0

何らかの理由で、私が作成しているビューコントローラとは異なるビューコントローラを提示していると考えています。私はSpecificsViewControllerをプッシュし、TitleViewControllerをプッシュし、DurationViewControllerをプッシュすると、同じビュー内に問題はありません。しかし、PriorityViewControllerはうんざりしてしまいます。そして、コンソールは、PriorityViewControllerの代わりにSpecificsViewControllerを押していると思っているようです。 – gurooj

関連する問題