0

私のアプリケーションでは、navigation controller. ログイン画面に戻るための戻るボタンを追加しました(UIViewController)。からログイン画面に戻るにはどうすればよいnavigation controllerですか?

これは私の戻るボタンのコードです。

(void)viewDidLoad
{

    [super viewDidLoad];

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonSystemItemCancel target:self action:@selector(goBacktoLogin)];

    self.navigationItem.leftBarButtonItem = backButton;

}

(void) goBacktoLogin

{

    LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];

[[ self navigationController] popToViewController:loginViewController animated:YES];


}

次のエラーが表示されます。

*キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。

理由: 「存在しないビュー コントローラーにポップしようとしました。」

4

2 に答える 2

1

ナビゲーション階層の最初のビュー コントローラーに戻る必要がある場合は、次を使用します。

[self.navigationController popToRootViewControllerAnimated:YES];
于 2012-07-02T08:58:18.137 に答える
0

あなたの質問は私には明確ではありません。しかし、これが役立つと思います:

これを使用して、ログイン コントローラーをナビゲーション スタックにプッシュします。

LoginViewController *loginViewController = [[ LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];

self.navigationController pushViewController:loginViewController animated:NO];

プッシュされた画面(ログインビューコントローラー):

別のコントローラーを押します。次に、戻るボタンを追加します。それをクリックすると

次のコマンドを実行します。

[self.navigationController popViewControllerAnimated:YES];
于 2012-08-01T10:00:15.300 に答える