我已设法确保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,不应该使用...
答案 0 :(得分:26)
从iOS 5开始,UIScreen
类中有一个公共API。它具有可以设置的brightness
属性。对于那些您可能想要比实际背光允许更暗的情况,有一个wantsSoftwareDimming
属性会自动放置一个半透明层,使其外观比硬件更暗淡。这与半透明UIView
提出的方法非常相似。应该注意的是,使用您的解决方案或软件调光API不应该与许多动画一起使用,因为您将在所有Alpha混合中支付性能损失。
答案 1 :(得分:3)
:
yourViewController.view.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;