有没有一种方法来以编程方式调整屏幕亮度?

我有一个iPhone应用程序用于摄影目的(种类的灯箱)。 这个应用程序需要尽可能多的亮度。 有没有办法以编程方式更改屏幕亮度,然后再恢复一段时间?

编辑:iOS 5现在包含一个屏幕亮度API 。

[[UIScreen mainScreen] setBrightness:0.5]; 

先前的回答:

不,这个能力不是通过公共APIS公开的。

编辑:请注意,未来可能的iOS版本可能会或可能不会在一个特定的iDevice多任务栏上的屏幕亮度。

这是可能的,但是你的应用很可能会被App Store拒绝,因为它使用了私有API。 手电筒应用程序被拒绝,因为它调整了屏幕亮度,所以我不会推荐它。

在iOS 4.2中,iPad将在多任务栏中拥有一个屏幕亮度调节器,

(如@coob所提到的),所以你可以告诉你的用户在那里设置亮度。


你可以做的是创build一个黑色的覆盖视图,并根据你想要的屏幕有多明亮,将其设置为或多或less。 这实际上并不会使屏幕变得更less/更明亮,但会给用户一个错觉。

这是一个迅速回答这个问题。

 import UIKit extension UIScreen { static func setMainBrightness(brightness: CGFloat) { guard (0...1).contains(brightness) else { print("Attempt to set the screen brightness to an invalid value: \(brightness) should be between 0 and 1 inclusive.") return } self.main.brightness = brightness } } 

通过使用以下方法调

 UIScreen.setMainBrightness(0.5) 

或者忽略我的扩展(我刚刚写的说明了这个限制),只是打电话给:

 UIScreen.main.brightness = 0.5