2012-04-24 9 views
1

ログイン(モーダルビューコントローラ)をログアウトボタンから表示し、ログインの下から設定(モーダルビューコントローラ)を自動化する方法を理解しようとしています。あなたは、ストーリーボードのレイアウトが表示されることがありますログインの表示方法と設定を解除する - ストーリーボード

http://cl.ly/2B3h0T130S1K1026201N

は、私がSettingsViewController.mでlogoutメソッドにこのコードを追加しようとしました

問題は、私がクリックしたときに、それがフリーズする私のアプリを強制ということです
- (IBAction)logoutAccount { 

     [self dismissModalViewControllerAnimated:YES]; 

     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
     UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"]; 
     [vc setModalPresentationStyle:UIModalPresentationFullScreen]; 

     [self presentModalViewController:vc animated:YES]; 

} 

ログアウト。誰がそれが間違っているか知っていますか?任意の提案が高く評価されました。

答えて

0

ユーザーがログインした後、どこでアプリを使いたいですか?たとえば、設定ボタンが表示されているビューコントローラーにアプリケーションを配置したいとします(ストーリーボードのように見えます)。

そして、そのVC(ナビゲーションコントローラのルートVC)がこれを行うことができます:

- (void)viewDidAppear:(BOOL)animated { 

    if (/*login is needed*/) { 
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
     UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"]; 
     [vc setModalPresentationStyle:UIModalPresentationFullScreen]; 

     [self presentModalViewController:vc animated:YES]; 
    } else { 
     // normal view did appear logic 
    } 
} 

ログアウトボタンは今ちょうどこの操作を行うことができます。

- (IBAction)logoutButtonPressed:(id)sender { 
    [self.navigationController popToRootViewControllerAnimated:NO]; 
} 
+0

はそれを手に入れました!今それは働いています。どうもありがとうございます! – hightech

+0

PasscodeViewControllerを追加するためにもう1つ質問があります。あなたは私がhttp://stackoverflow.com/questions/10307120/display-passcode-pincode-upon-launching-the-app-storyboardに投稿したこの質問を見るかもしれません。ありがとう! – hightech

+0

これからチェックアウトします。 – danh

関連する問題