我有一个用于摄影目的的iPhone应用程序(一种灯箱)。这个应用程序需要尽可能多的亮度。有没有办法以编程方式更改屏幕亮度,然后在一段时间后恢复它?
答案 0 :(得分:77)
编辑:iOS 5现在包含screen brightness API。
[[UIScreen mainScreen] setBrightness:0.5];
上一个回答:
不,此功能不会通过公共APIS公开。
编辑:请注意,未来可能的iOS版本可能会或可能不会在一个特定iDevice上的多任务栏上显示屏幕亮度。
答案 1 :(得分:5)
这是可能的,但您的应用很可能会被App Store拒绝,因为它使用私有API。 手电筒应用被拒绝,因为它调整了屏幕亮度,所以我不推荐它。
在iOS 4.2中,iPad将拥有 屏幕亮度调节器 多任务条,
(正如@coob所提到的)所以你可以告诉你的用户在那里设置亮度。
你可以做的是创建一个黑色叠加视图,并根据你想要的屏幕亮度来设置它的或多或少的alpha。这实际上不会使屏幕变得更亮/更亮,但它会让用户产生错觉。
答案 2 :(得分:5)
这是Swift对这个问题的回答。
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