Vâng, bạn có thể tắt độ sáng hoàn toàn. Nó không khóa màn hình và thiết bị vẫn hiển thị nhưng không có đèn nền LCD làm cho nó gần như không thể nhìn thấy.
- (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);
}
}
}
Đầu tiên tiết kiệm mức độ sáng hệ thống của người dùng
[self changeSystemBrightness:@"saveDefault"];
Sau đó bạn chỉ có thể tắt màn hình:
[self changeSystemBrightness:@"min"];
Khôi phục độ sáng:
[self changeSystemBrightness:@"restoreDefault"];
iOS khôi phục độ sáng hệ thống mặc định khi màn hình tắt bình thường (khóa/mở khóa) để bạn phải phát hiện và xử lý điều đó.
Đối với bất kỳ ai đọc điều này, tại thời điểm nhận xét của tôi, phương pháp này đã không được chấp nhận. Từ tài liệu của Apple: "Không được chấp nhận. Các thuộc tính' proximityMonitoringEnabled' và 'proximityState' của lớp' UIDevice' là các thay thế. " –