Well, you can turn the brightness off completely. It does not lock the screen and the device still displays but no LCD backlight makes it almost impossible to see.
- (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);
}
}
}
First save user's system brightness level
[self changeSystemBrightness:@"saveDefault"];
After that you can simply turn off the screen:
[self changeSystemBrightness:@"min"];
Restore brightness:
[self changeSystemBrightness:@"restoreDefault"];
iOS restores default system brightness once the screen is turned off normally (lock/unlock) so you have to detect and handle that.