0

ロックオプションが含まれているアプリを使用しています。アプリはパスコード画面から始まります。正しいコードを入力すると、次の画面に移動します。アプリを長時間使用しないと、スリープモードになります。ユーザーが希望する場合今すぐアプリを実行すると、パスコード画面が表示され、ユーザーはコードを再入力する必要があります。可能ですか?これに関するチュートリアルはありますか?それを行った場合は、関連するコードを投稿してください。よろしくお願いします。

4

4 に答える 4

5

はい、もちろん可能です。applicationDidBecomeActiveアプリケーションデリゲートで呼び出されたメソッドで画面を開く必要があります。このメソッドは、アプリケーションがバックグラウンドから開かれるたびに呼び出されます。

したがって、ユーザーがすでに実行中のアプリを起動するたびに、このメソッドが呼び出され、ここから最初にパスワード画面を表示し、その後、それぞれの画面を表示できます。

于 2013-01-29T06:23:22.987 に答える
1

You can detect when your app goes to the background using the UIApplicationDidEnterBackgroundNotification. When it does, record the date and time. When the user opens the app back up, you will receive UIApplicationWillEnterForegroundNotification. When you receive that, compare the recorded date and time with the current date and time. If that's too old, display the passcode screen.

于 2013-01-29T06:24:04.033 に答える
1

そこにあるアプリデリゲートクラスにメソッドapplicationDidEnterForegroundをチェックインし、applicationDidEnterBackgroundそこでコーディングを行うことができます

于 2013-01-29T06:35:33.070 に答える
0

私は同じタイプのアプリを開発し、これを実装しました。このために、このような1つのクラスを作成しました。

@interface CommonUIClass:NSObject

+(void)setCurrentViewController:(id)controller;

+(void)openPassWordProtectedScreen;

@end

@implementation CommonUIClass

static id currentViewControllerObj;

+(void)setCurrentViewController:(id)controller{ 

  currentViewControllerObj = controller;

}

+(void)openPassWordProtectedScreen{

PROTECTED_CONTROLLER *view = [[PROTECTED_CONTROLLER alloc]init];



if ([currentViewControllerObj respondsToSelector:@selector(presentModalViewController:animated:)]) {
        [currentViewControllerObj presentModalViewController:patternLock animated:NO];
}

}


@end

このクラスをすべてのViewControllerにインポートし、このコードを

-(void)viewWillApear{

[CommonUIClass setCurrentViewController:self];
[super viewWillApear];
}

そして、アプリケーションがバックグラウンドで実行される場合

-(void)applicationWillResignActive:(UIApplication *)application{

[CommonUIClass openPassWordProtectedScreen];

}

ありがとう..

于 2013-01-29T06:54:10.917 に答える