1

タイマーによって呼び出されるアニメーションを含むアプリがあります。1 つのアニメーションが終了すると、タイマーが呼び出されて別のアニメーションが開始されます。iPhone がスリープ状態で、アクティブにするためにロック解除が必要な場合、アニメーションは開始されません。これは明らかに、アプリがスリープしている間にタイマーが終了し、アニメーションを再開する関数が呼び出されないためです。

私がやりたいのは、アニメーションが実行されているかどうかを確認し、そうでない場合はアクティブにすることです。または、アプリがスリープ状態になったときにアニメーションを停止し、再起動時にアクティブにすることもできます。

私はこれを行う方法を見つけようとしていますが、何時間もグーグルで検索した後、何も見つかりません.正しいものを探していない可能性が完全にあります!

何か提案をいただければ幸いです。

また、XCode に接続しているときに iPhone を強制的にスリープ状態にする方法はありますか?

ありがとう

4

1 に答える 1

2

iPhone の画面がロックされると、通知 UIApplicationWillResignActiveNotification が送信されます。画面のロックが解除された後、通知 UIApplicationDidBecomeActiveNotification が送信されます。次の 2 つの選択肢があります。

  1. NSNotificationManager に登録してUIApplicationDidBecomeActiveNotification通知を取得し、無効になっている場合はウェイクアップ後にタイマーを再起動できます。

  2. アプリのデリゲートにapplicationDidBecomeActiveを実装し、タイマーが無効になっている場合はそこでタイマーを再起動できます。

于 2010-06-25T20:39:49.893 に答える