2010-09-23 69 views

回答

71

编辑:iOS 5现在包含screen brightness API

[[UIScreen mainScreen] setBrightness:0.5]; 

以前的答案:

没有,这种能力不是通过公共API暴露。

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

+0

虽然我也不能说无论是否由于我就专有信息的披露达成了某种协议,情况都是如此......主要的第三方“阅读器”应用程序确实包含亮度滑块。因此,无论它是否暴露,人们都在这样做,而且它正与应用商店评论者一起飞行。 – 2010-09-23 19:48:30

+3

他们正在调整文字背景的颜色,而不是实际的屏幕亮度。 – 2010-09-24 08:25:00

+0

感谢您的提示! – MatLecu 2011-11-15 22:10:34

5

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

在iOS 4.2的,在iPad将在 多任务栏中 屏幕亮度调节,

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


你可以做什么,是创建一个黑色的叠加图,并设置它的alpha或多或少,根据你想如何亮屏幕是。这实际上并不会使屏幕更少/更明亮,但它会给用户一种幻觉。

+0

只有iPad,还是iPhone? – openfrog 2010-09-25 09:41:38

+0

不幸的是,只有在iPad上。 – Emil 2010-09-25 09:45:24

+1

注意:这个答案现在已经过时;自iOS 5以来有一个公共API。 – ToolmakerSteve 2016-04-29 19:23:20

4

这是对这个问题的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 
+0

current(3.1)Swift:'UIScreen.main.brightness = 1.0' – bshirley 2017-05-23 19:55:16

相关问题