1

私のアプリケーションでは、アプリケーションがバックグラウンドに移行したときに、パスコードページ(認証を行うパスコードページ)を呼び出しています。

私の要件は、ユーザーがフォアグラウンドからアプリを起動すると、パスコードページが表示されることです。彼が正しいパスコードを入力した場合、彼だけが残りのページを見ることができます。

デリゲート.mファイル

- (void)applicationDidEnterBackground:(UIApplication *)application
 {
   PasscodeViewController *passcodeController = [[PasscodeViewController alloc]       initWithNibName:@"PasscodeViewController" bundle:nil];

   [navController pushViewController:passcodeController animated:YES];
 }

バックグラウンドからアプリケーションを起動すると、前のページ(バックグラウンドに移動したページ)がほんの一瞬表示され、その後にパスコードページが表示されます。

しかし、前のページに表示されている他の人(パスコードを知らない人)から自分の機密情報を隠したいと思います。

シミュレーターでは正しく機能していますが、デバイスでは正しく機能していません。

その中で私を導いてくれませんか?

また

iOSデバイスの正常な動作ですか?ページ遷移がどのように行われる場合でも、アプリケーションがフォアグラウンドで実行されている間に実行されます。

それについてはよくわかりません。どこが悪かったのか教えてください。

ありがとうございました。

4

5 に答える 5

0

UIKitがいつ再レンダリングする必要があるかを判断するのは問題だと思います...スプラッシュ画面でも同様のケースがありましたがapplicationDidEnterBackground、スプラッシュを追加するために使用すると役に立ちました。

私の考えは、を使用して、アニメーション化を回避することです

[navController pushViewController:passcodeController animated:NO];
于 2012-05-09T13:42:06.510 に答える
0

私が同様の機能で使用したすべてのアプリは、あなたが説明したように動作し、ロックビューが表示される前に小数秒のフラッシュが表示されます。

于 2012-05-09T13:20:04.293 に答える
0

applicationWillResignActive を試してください:

- (void)applicationWillResignActive:(UIApplication *)application
{
  PasscodeViewController* passcodeController = [[PasscodeViewController alloc] initWithNibName:@"PasscodeViewController" bundle:nil];

  [navController pushViewController:passcodeController animated:YES];
} 
于 2012-05-09T13:29:26.557 に答える
0

UIViewアプリがバックグラウンドになるたびに、白い背景の を追加します。アプリが起動するたびに、PasscodeViewController ビューを一番上にプッシュします

UIApplicationDidEnterBackgroundNotificationオブザーバーを追加UIApplicationWillEnterForegroundNotificationして上記の機能を実行してください。また、ビューが消えたら必ずオブザーバーを削除してください

ユーザーが正しいパスコードを入力したら、UIView.

于 2012-05-10T09:51:12.637 に答える
0

アプリケーションがバックグラウンドに移行すると、デリゲート applicationDidEnterBackground のナビゲーション コントローラーにパスコード ビュー コントローラーをプッシュします。ほとんどの場合、フラクショナル フラッシュが発生するため、バックグラウンドに入る前にパスコード コントローラーをプッシュすることができます。

于 2012-05-10T10:58:00.893 に答える