我设法确保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/