2012-02-17 7 views
1

私は最初のRootViewControllerでナビゲーションベースのアプリケーションを持っています。iPhone - パスワードチェックを挿入

私はロック画面のようなパスワードで保護したいと思います。 私は既にパスワードチェックのコードを持っています。

しかし、私は

1)RootViewController前に、最初に私のCheckPasswordViewを挿入する方法がわかりません。

2)私のアプリケーションが一時停止から再開するたびにパスワードを入力する必要があります。

更新:

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    /* 
    Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 
    */ 

    CheckPasswordViewController *vc = [[CheckPasswordViewController alloc] 
             initWithNibName:@"CheckPasswordViewController" bundle:nil]; 
    vc.title = @"Enter password";  

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

    [vc release]; 
} 

答えて

2

あなたはUIApplicationDelegate'sapplicationDidBecomeActiveメッセージを使用する必要があります。そのデリゲート(関数)で、CheckPasswordViewをアクティブにするコードを入力して、アプリケーションを再開する前にパスワードを尋ねることができます。ドキュメントから:

このメソッドは、 から非アクティブ状態にアクティブ状態に移動したことをアプリケーションに知らせるために呼び出されます。これは、アプリケーション がユーザーまたはシステムによって起動されたために発生します。アプリケーションは、 アプリケーションを一時的に非アクティブ状態にした割り込み( )を中断することを選択した場合には、 をアクティブ状態に戻すことができます。

このデリゲートには、必要なものを実装するための他の方法があります。

+1

ありがとうございました!できます。 PasswordCheckViewをapplicationDidBecomeActiveメッセージに表示します。正しいパスワードを入力した後、私はメインプログラムにパスします。しかし、コードを入力せずにアプリを何度か開いた場合、私はパスワードを何度か入力することを提案しています。 – Metaller

+0

私の主な質問にコードを追加しました。 – Metaller

+0

@Metaller:うれしい! –

1

ビューコントローラーを所定の位置に押し込んでいるのが分かります。それが何度も表示されている理由です。それを防ぐには、ビューコントローラをモーダルで表示します。

+0

違いを教えてもらえますか? – Metaller

+0

それは大丈夫です、私は理解しました。私は[self.navigationController presentModalViewController:checkPasswordView animated:YES]で自分のビューを開きます。どうもありがとう! – Metaller

関連する問題