2010-09-23 95 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

相關問題