Frage

Bietet das SDK eine Möglichkeit, die Helligkeit der Hintergrundbeleuchtung zu ändern, oder es vorübergehend deaktivieren?

War es hilfreich?

Lösung

Nein. Dies ist im SDK nicht verfügbar. Wenn es wäre Ihnen etwas denken nützlich, ich schlage vor, Sie eine Erweiterung Anfrage Datei.

Andere Tipps

Ich versuche, das gleiche zu tun. Wie es der Zufall eine Zahl Beiträge dort in den internets mit „Lösungen“ für diese gibt es.

Die detaillierteste ist prägnante

Das Problem ist, dass ich diese versucht habe und sie alle verlassen sich auf den Aufruf dieser Funktion

GSEventSetBacklightLevel();

, die diesen Header erfordert importiert werden

#import <GraphicsServices/GraphicsServices.h>

Und das Import fehlschlägt im SDK berichtet, dass die Header-Datei nicht gefunden werden kann.

Ich habe seit einiger Lösung gesucht, aber nicht gefunden. Es gibt einige sprechen über „den Aufbau der Werkzeugkette“ (für die beste Beschreibung, die ich gefunden habe, finden Sie unter hier ), aber das scheint das SDK ganz einzubeziehen umgehen. Ziemlich drastisch.

Zusammenfassung: Es ist möglich, aber nicht mit dem Standard-iPhone SDK. Ich stelle mir ein Update für das SDK wird bald kommen, dass sollte es zulassen.

Lassen Sie mich wissen, wenn Sie eine andere Lösung finden.

-(void)changeLight{

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

rufen Sie das obige Verfahren mit

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

Sie können den privaten Rahmen hinzufügen, indem Sie einfach per Drag & Drop auf Ihr Xcode-Projekt von /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework.

Auch #import "GraphicsServices.h" Header in Ihrer .h-Datei hinzuzufügen .. erinnern: da Sie Sie Anwendung privaten Rahmen verwenden wird in App Store Push ablehnen

In meinem SDK (5.0.1) es scheint, dass „GraphicsServices.h“ gibt es nicht mehr, aber man kann es erklären sich wie folgt:

void GSEventSetBacklightLevel(float level);

Beachten Sie, dass der Linker wird sich beschweren, wenn Sie den Rahmen GraphicsServices.framework in Ihrem Projekt enthalten.

über Ihre Frage über die Hintergrundbeleuchtung ausgeschaltet wird, fand ich heraus, dass Sie es, indem man eine sehr große negative Zahl GSEventSetBacklightLevel, wie dies zu tun:

GSEventSetBacklightLevel(-INFINITY);

In meinen Tests dies wird aus dem Bildschirm komplett schwarz.

Denken Sie daran, dass dies immer noch Burn-in in den LCD-Pixeln verursachen könnte, wenn Sie statische Grafiken angezeigt werden, auch wenn die Hintergrundbeleuchtung ausgeschaltet ist. Und dass dieser Aufruf wird Ablehnung führen, wenn zum App Store submitteed.

versuchen, diesen Code. Ich hoffe, es hilft ...

  

// in viewWillAppear

     

float prevBrightnessLevel = [UIScreen mainscreen] .Brightness;

     

[UIScreen mainscreen] .Brightness = 1,0;

     

// in viewWillDisappear

     

[UIScreen mainscreen] .Brightness =   prevBrightnessLevel;

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top