使iPhone屏幕变暗

我设法确保iPhone不会自动locking使用:

[[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ]; 

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

谢谢…

编辑:

想我自己find了一个解决scheme:

在你的视图控制器中使用这个方法通过添加一个50%alpha的黑色视图来调暗。 确保设置userInteractionEnabled = NO将事件传递给底层视图。

 - (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]; } 

或者可能会冒险(但苹果可能拒绝提交):

 [(id)[UIApplication sharedApplication] setBacklightLevel:1.0f]; 

这是一个私人的API,不应该使用,虽然…

从iOS 5开始, UIScreen类中有一个公共API。 它具有可以设置的brightness属性。 对于那些你可能想要比实际的背光灯更暗的情况,有一个wantsSoftwareDimming属性,它会自动放置一个半透明的图层, wantsSoftwareDimming比硬件更暗淡。 这与你用半透明的UIView的方法非常相似。 应该注意的是,使用您的解决scheme或软件调光API不应与许多animation一起使用,因为您将支付所有alpha混合的性能损失。

请参阅UIScreen类参考

在iOS 7和更高版本中:

 yourViewController.view.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;