2012-02-17 64 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處於活動狀態,並在恢復應用程序之前詢問用戶密碼。從文檔:

調用此方法讓您的應用程序知道它從 從非活動狀態移動到活動狀態。這可能是因爲您的應用程序 是由用戶或系統啓動的。如果用戶選擇忽略將 應用程序臨時發送到非活動狀態的中斷 (例如傳入電話或SMS消息),則應用程序還可以將 返回到活動狀態。

在這個委託中還有其他方法可以看看實現你需要的東西。

+1

謝謝!有用。我在applicationDidBecomeActive消息中顯示我的PasswordCheckView。正確輸入密碼後,我將傳遞給主程序。但是,如果我在沒有輸入代碼的情況下多次重新打開我的應用程序,我發現我要提供多次輸入密碼。 – Metaller 2012-02-17 15:32:05

+0

我在主要問題中添加了代碼。 – Metaller 2012-02-17 15:35:41

+0

@Metaller:很高興它的工作! – 2012-02-17 15:36:58

1

我看到你正在推視圖控制器到位。這就是爲什麼它被多次顯示。如果你想防止這種情況,模態地呈現視圖控制器。

+0

你能告訴我區別嗎? – Metaller 2012-02-20 09:35:33

+0

沒關係,我明白了。我只是用[self.navigationController presentModalViewController:checkPasswordView animated:YES]打開我的視圖;非常感謝! – Metaller 2012-02-20 15:52:58