まあ、あなたは完全に明るさをオフにすることができます。それは画面をロックせず、デバイスはまだ表示されますが、LCDのバックライトは見えなくなります。
- (void) changeSystemBrightness: (NSString *) switchValue {
if ([[UIScreen mainScreen] respondsToSelector:@selector(setBrightness:)]) {
if (switchValue) {
if ([switchValue isEqualToString:@"saveDefault"]) {
//
self.userBrightness = [UIScreen mainScreen].brightness;
//NSLog(@"User Brightness: %1.1f", userBrightness);
} else if ([switchValue isEqualToString:@"restoreDefault"]) {
[UIScreen mainScreen].brightness = self.userBrightness;
//NSLog(@"Restore Brightness: %1.1f", userBrightness);
} else if ([switchValue isEqualToString:@"min"]) {
//[UIScreen mainScreen].brightness = 0;
} else if ([switchValue isEqualToString:@"max"]) {
[UIScreen mainScreen].brightness = 1;
} else if ([switchValue isEqualToString:@"mid"]) {
[UIScreen mainScreen].brightness = 0.5;
}
} else {
[UIScreen mainScreen].brightness = self.userBrightness;
//NSLog(@"Restore Brightness: %1.1f", userBrightness);
}
}
}
まずあなたは、単に画面をオフにすることができ、ユーザのシステムの輝度レベルにその後
[self changeSystemBrightness:@"saveDefault"];
を保存:
[self changeSystemBrightness:@"min"];
は、明るさを復元します。
[self changeSystemBrightness:@"restoreDefault"];
iOSは、画面が正常に(ロック/ロック解除されて)いったん解除されると、デフォルトのシステムの輝度を復元して、それを検出して処理する必要があります。
私のコメントの時点で、誰かがこれを読んでいるので、このメソッドは推奨されなくなりました。アップルのドキュメントから: "非推奨。" UIDevice "クラスのproximityMonitoringEnabledプロパティとproximityStateプロパティが置き換えられます。" –