有没有一种方法来以编程方式调整屏幕亮度?
我有一个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