使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;