-1

このメソッドを正しく動作させようとしていますが、何らかの理由で、この機能により、ホームコントローラーを表示する代わりに前のコントローラー(起動コントローラー)が表示されます。起動コントローラーを終了すると、ホームコントローラーが表示されて正常に動作します。以下のコードで問題ありません。ルートコントローラーがポップアップするのを防ぐ方法はありますか?必要に応じてルートコントローラーコードを投稿してください。

    UIViewController *startupController;

    startupController = [[homeViewController alloc] initWithNibName:nil bundle:nil];

    [self.navigationController pushViewController:startupController animated:NO];
    [self dismissModalViewControllerAnimated:NO];

更新:私の上のコードは、タブバーを作成したタブバーメソッドにあります。その背後にある理由は、特定のタブバーボタンを押すとこのコントローラーが表示されるようにしようとしているためです。コントローラーは、ナビゲーションコントローラーによって関連付けられています。また、別のヒントもあります。この方法を使用する [self presentViewController:homeNavigationController animated:NO completion:nil];と、ルートコントローラーは表示されずに正常に表示されますが、タブバーは表示されなくなります。

4

1 に答える 1

1

ナビゲーションコントローラーを使用しているので[self dismissModalViewControllerAnimated:NO];、以下に置き換えてください。

[self.navigationController popViewControllerAnimated:NO];

于 2013-03-21T19:02:13.570 に答える