0

私のアプリでは、 aをその としてUINavigationControllerモーダルに提示します。フォームスタイルで行います。フォームスタイルにもある秒を追加しましたが、うまくプッシュできます。ただし、2番目のアクションが最初のアクションにポップされた後にアクションを実行すると、モーダルに表示された全体が破棄されます。ただし、私は却下を実行せず、却下機能が誤ってトリガーされることもありません。UIViewControllerrootViewControllerUIViewControllerpopViewControllerUIViewcontrollerUIViewController

なぜそれが起こっているのですか?

心から、

ゾリ

編集:

それが、モーダルビューコントローラーにnavcontrollerを提示する方法です:

if(!welcomeScreenAlreadyPresented) {

    welcomeScreenViewController = [[WAWelcomeViewController alloc]init];
}

welcomeScreenNavController = [[UINavigationController alloc]initWithRootViewController:welcomeScreenViewController];
[welcomeScreenNavController setModalTransitionStyle: UIModalTransitionStyleCrossDissolve];
[welcomeScreenNavController setModalPresentationStyle:UIModalPresentationFormSheet];
[welcomeScreenNavController setNavigationBarHidden:YES animated:NO];

[self.navigationController presentViewController:welcomeScreenNavController animated:YES completion:nil];

それがWAWelcomeViewController.mでのナビゲーション方法です

registerViewController = [[WARegisterViewController alloc]init];

[self.navigationController pushViewController:registerViewController animated:YES];

そして WARegisterViewController.m では、それが私がポップバックする方法です

[self.navigationController popViewControllerAnimated:YES];
4

1 に答える 1

1

あなたがする必要があるのは、プッシュしたいviewControllerを別の中に置くことですUINavigationController

registerViewController = [[WARegisterViewController alloc]init];
UINavigationController *modalNavigationController = [[UINavigationController alloc] initWithRootViewController:registerViewController]; // autorelease if you are not using ARC

[self presentViewController:navController animated:YES completion:^{}];

をプロパティとして追加しmodalNavigationControllerて、後で呼び出すpopViewControllerAnimated:ことができます。

于 2013-08-27T15:12:40.237 に答える