我设法确保iPhone不会使用以下方式自动锁定:

    [[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ];

但是,经过一定时间后,如何使屏幕变暗?

谢谢...

编辑:

认为我自己找到了一个解决方案:

在 View Controller 中使用此方法可通过添加具有50%alpha的黑色 View 来变暗。确保设置userInteractionEnabled = NO将事件传递到基础 View 。
- (IBAction)dim:(id)sender {
UIView *dimView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
dimView.backgroundColor = [UIColor blackColor];
dimView.alpha = 0.5f;
dimView.userInteractionEnabled = NO;
[self.view addSubview:dimView];
}

或者,可能会冒险(但Apple可能会拒绝提交):
[(id)[UIApplication sharedApplication] setBacklightLevel:1.0f];

那是一个私有(private)的API,但是不应该使用...

最佳答案

从iOS 5开始,在UIScreen类中有一个公共(public)API。它具有可以设置的brightness属性。对于那些您可能想要调暗比实际背光允许的亮度的实例,有一个wantsSoftwareDimming属性,该属性将自动放置一个半透明层,使外观比硬件更暗。这与半透明UIView提出的方法非常相似。应当指出,使用解决方案或软件调光API不应与许多动画一起使用,因为您将为所有Alpha混合付出性能损失。

参见UIScreen Class Reference

关于ios - 使iPhone屏幕变暗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8234981/

10-10 15:24