iPhone:我们如何以编程方式更改屏幕的亮度?

如何使用iPhone SDK以编程方式更改屏幕亮度?

请告诉我。

谢谢!

[[UIScreen mainScreen] setBrightness: yourvalue]; 

需要iOS 5.0或更高版本。 yourvalue是一个介于0.0和1.0之间的浮点数。

更新 :对于Swift 3

 UIScreen.main.brightness = YourBrightnessValue 

这是执行此操作的快速答案

 UIScreen.mainScreen().brightness = YourBrightnessValue 

YourBrightnessValue是一个介于0.01.0之间的浮点数

如果你想改变屏幕的亮度,那么你只能在IOS 5或更高版本的操作系统中更改。

把下面的代码放在你的应用程序

 [[UIScreen mainScreen] SetBrightness:1.0]; 

完美的工作代码把价值放在浮动。

我有一些改变viewDidLoad / viewWillDisappear中的屏幕亮度的问题,所以我创build了一个单独的类来处理所有的操作。 这是我如何做到的:

 import Foundation import UIKit final class ScreenBrightnessHelper { private var timer: Timer? private var brightness: CGFloat? private var isBrighteningScreen = false private var isDarkeningScreen = false private init() { } static let shared = ScreenBrightnessHelper() func brightenDisplay() { resetTimer() isBrighteningScreen = true if #available(iOS 10.0, *), timer == nil { brightness = UIScreen.main.brightness timer = Timer.scheduledTimer(withTimeInterval: 0.01, repeats: true) { (timer) in UIScreen.main.brightness = UIScreen.main.brightness + 0.01 if UIScreen.main.brightness > 0.99 || !self.isBrighteningScreen { self.resetTimer() } } } timer?.fire() } func darkenDisplay() { resetTimer() isDarkeningScreen = true guard let brightness = brightness else { return } if #available(iOS 10.0, *), timer == nil { timer = Timer.scheduledTimer(withTimeInterval: 0.01, repeats: true) { (timer) in UIScreen.main.brightness = UIScreen.main.brightness - 0.01 if UIScreen.main.brightness < brightness || !self.isDarkeningScreen { self.resetTimer() self.brightness = nil } } timer?.fire() } } private func resetTimer() { timer?.invalidate() timer = nil isBrighteningScreen = false isDarkeningScreen = false } }