solo quitar pantalla opaca funciona brillo baja automatico iphone backlight

quitar - Cambiar el brillo de la luz de fondo en el iPhone mediante programación



la pantalla de mi iphone se ve opaca (5)

¿El SDK proporciona alguna forma de cambiar el brillo de la retroiluminación o apagarlo temporalmente?


-(void)changeLight{ GSEventSetBacklightLevel(float number);//number between 0.0 - 1.0 }

llamar al método anterior utilizando

[self performSelector:@selector(changeLight) withObject:nil afterDelay:0.0];

puede agregar el marco privado simplemente arrastrando y soltando en su proyecto xcode en /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework.

También agregue el encabezado #import "GraphicsServices.h" en su archivo .h ... recuerde: ya que está utilizando un marco de trabajo privado, su aplicación rechazará en la tienda de aplicaciones push



Estoy tratando de hacer lo mismo. Da la casualidad de que hay un número de publicaciones en las redes con "soluciones" para esto.

El más detallado está aquí Este es más sucinto

El problema es que los he probado y todos confían en llamar a esta función

GSEventSetBacklightLevel();

que requiere este encabezado para ser importado

#import <GraphicsServices/GraphicsServices.h>

Y esa importación falla en el SDK informando que no se puede encontrar el archivo de encabezado.

He buscado alguna solución pero no la he encontrado. Se habla de "construir la cadena de herramientas" (para la mejor descripción que he encontrado aquí ), pero eso parece implicar eludir por completo el SDK. Bastante drástico

Resumen: es posible, pero no con el SDK de iPhone estándar. Imagino que pronto llegará una actualización del SDK que debería permitirlo.

Avíseme si encuentra alguna otra solución.


En mi SDK (5.0.1) parece que "GraphicsServices.h" ya no está allí, pero puede declararlo usted mismo así:

void GSEventSetBacklightLevel(float level);

Tenga en cuenta que el enlazador se quejará, a menos que incluya el marco GraphicsServices.framework en su proyecto.

Sobre su pregunta acerca de apagar la luz de fondo, descubrí que puede hacerlo pasando un número negativo muy grande a GSEventSetBacklightLevel, así:

GSEventSetBacklightLevel(-INFINITY);

En mis pruebas, esto oscurecerá completamente la pantalla.

Recuerde que esto aún podría causar quemaduras en los píxeles de la pantalla LCD si visualiza gráficos estáticos, incluso cuando la luz de fondo está apagada. Y que esta llamada causará rechazo si se envía a la tienda de aplicaciones.


prueba este código Espero que ayude...

// en viewWillAppear

flotante prevBrightnessLevel = [UIScreen mainScreen] .brightness;

[UIScreen mainScreen] .brightness = 1.0;

// en viewWillDisappear

[UIScreen mainScreen] .brightness = prevBrightnessLevel;