我想在我的应用中实现相同的功能。
我尝试使用[[UIScreen mainScreen] setBrightness:1.0];
在设备锁定之前,应用程序所做的亮度更改仍然有效。
如果我的应用处于前台模式,我想设置全亮度,否则亮度将重置为之前的亮度级别。
答案 0 :(得分:2)
所有这一切都没有工作,看看编辑
如果您在打开应用时设置了高亮度,则在现有时恢复以前的亮度,这里可以在AppDelegate
中执行以下操作:
添加CGFloat previousBrightness
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
previousBrightness = [[UIScreen mainScreen] brightness];
[[UIScreen mainScreen] setBrightness:1.0];
return YES;
}
和
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[UIScreen mainScreen] setBrightness:previousBrightness];
}
修改:
经过一些研究,我发现实际上是iOS中的一个错误,阻止您在退出应用后改变亮度。自iOS 4以来已经报告了这个错误,并且在我尝试使用iOS 8时似乎无法解决,但它仍然无法正常工作......
有关该错误的更多信息,请参阅this thread on Apple Dev Forum。
您唯一能做的就是为您需要的单步设置全亮度,并在用户不再需要时重置。例如,在许多应用程序中,我们在查看QR码时具有完全亮度,然后在点击交叉X'时恢复到之前的亮度。退出。
您可能需要在某些方面重新考虑您的应用,但在用户点击“主页”按钮后,您将无法恢复亮度。