2012-01-20 10 views

Respuesta

43
[[UIScreen mainScreen] setBrightness: yourvalue]; 

Requiere iOS 5.0 o posterior. yourvalue es un flotante entre 0.0 y 1.0.

+0

Me alegro de poder ayudar. Puedes aceptar la respuesta si es lo que estabas buscando :) –

+0

¿No te quitaría esto de la App Store? –

+0

Es una llamada API perfectamente legal. No puedo ver una razón por la cual debería haber algún problema con eso. –

1

Si desea cambiar el brillo de la pantalla, solo puede cambiar en iOS 5 o posterior.

Ponga el código debajo en su aplicación.

[[UIScreen mainScreen] SetBrightness:1.0]; 

Código de funcionamiento perfecto poner valor en flotación.

+11

Debe verificar la ortografía al copiar las respuestas. – Eiko

8

ACTUALIZACIÓN: Para Swift 3

UIScreen.main.brightness = YourBrightnessValue 

Aquí está la respuesta rápida para realizar esta

UIScreen.mainScreen().brightness = YourBrightnessValue 

YourBrightnessValue es un flotador entre 0.0 y 1.0

+0

para solicitar el brillo actual: let brillo: CGFloat = UIScreen.main.brightness –

0

he tenido algunos problemas con el cambio de el brillo de la pantalla en viewDidLoad/viewWillDisappear así que creé un singleto n clase para manejar toda la acción. Así es como lo hago:

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 
    } 
} 
Cuestiones relacionadas