使iPhone屏幕变暗

时间:2011-11-22 22:45:43

标签: ios iphone auto-lock

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

    [[ UIApplication sharedApplication ] setIdleTimerDisabled: YES ];

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

...谢谢

编辑:

想想我自己找到了解决方案:

在视图控制器中使用此方法,通过添加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];
}

或者,可能会冒风险(但Apple可能会拒绝提交):

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

这是一个私有API,不应该使用...

2 个答案:

答案 0 :(得分:26)

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

请参阅UIScreen Class Reference

答案 1 :(得分:3)

iOS 7及更高版本中的

yourViewController.view.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;