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.0
和1.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 } }