164

カウントダウンが終了するまで起きていなければならないアプリがありますが、割り当てられたスリープ時間に達すると「スリープモード」になります。

私のアプリでは、スリープを延期するオプションがあるため、ユーザーはそれを無効/有効にできます。

プログラムでどのように行うのですか?

4

4 に答える 4

387

アイドル タイマーは次のように無効にできます。

Objective-C の場合:

[UIApplication sharedApplication].idleTimerDisabled = YES;

スウィフトの場合:

UIApplication.sharedApplication().idleTimerDisabled = true

Swift 3.0 & Swift 4.0:

UIApplication.shared.isIdleTimerDisabled = true

スリープモードに戻すNOか、再度有効にします。false

たとえば、ビューを離れるまで必要な場合は、viewWillDisappear をオーバーライドして元に戻すことができます。

override func viewWillDisappear(_ animated: Bool) {
    UIApplication.shared.isIdleTimerDisabled = false
}

UIApplication クラスの詳細。

于 2012-09-30T12:05:04.047 に答える
24

Swift 3 では、アイドル タイマーを無効にするには、次のようにします。

UIApplication.shared.isIdleTimerDisabled = true

アイドル タイマーをオンに戻すには、次のようにします。

UIApplication.shared.isIdleTimerDisabled = false

さらに、Swift では and を使用できないため、(前の回答とは対照的に) または のいずれかを使用する必要があることYESに注意してください。NOtruefalse

于 2016-10-31T04:22:09.220 に答える