프로그래밍 방식으로 iPhone의 백라이트 밝기를 변경하십시오
문제
SDK는 백라이트의 밝기를 변경하거나 일시적으로 끄는 방법을 제공합니까?
해결책
아니요. SDK에서는 사용할 수 없습니다. 그것이 당신이 유용 할 것이라고 생각한다면, 나는 당신을 제안합니다 강화 요청을 제출하십시오.
다른 팁
나는 같은 일을하려고 노력하고있다. 이를 위해 "솔루션"이있는 인터넷에는 여러 개의 게시물이 있습니다.
문제는 내가 이것을 시도했고 모두이 기능을 부르는 데 의존한다는 것입니다.
GSEventSetBacklightLevel();
이 헤더를 가져와야합니다
#import <GraphicsServices/GraphicsServices.h>
SDK보고에서 해당 수입은 헤더 파일을 찾을 수 없다고보고합니다.
솔루션을 검색했지만 찾지 못했습니다. "도구 체인 구축"에 대한 이야기가 있습니다 (내가 찾은 최고의 설명을 위해 여기) 그러나 그것은 SDK를 모두 우회하는 것 같습니다. 꽤 과감합니다.
요약 : 가능하지만 표준 iPhone SDK는 가능하지 않습니다. SDK에 대한 업데이트가 곧 올 것이라고 생각합니다.
다른 솔루션을 찾으면 알려주세요.
-(void)changeLight{
GSEventSetBacklightLevel(float number);//number between 0.0 - 1.0
}
위의 방법을 사용하여 호출하십시오
[self performSelector:@selector(changeLight) withObject:nil afterDelay:0.0];
/developer/platforms/phoneos.platform/developer/sdks/iphoneos4.2.sdk/system/library/privateframeworks/graphicsservices.framework에서 Xcode 프로젝트로 드래그 앤 드래그하여 개인 프레임 워크를 추가 할 수 있습니다.
또한 .h 파일에 #import "GraphicsServices.h"헤더를 추가하십시오 ..기억 : 개인 프레임 워크를 사용하고 있으므로 응용 프로그램은 App Store Push에서 거부합니다.
내 SDK (5.0.1)에서 "GraphicsServices.h"는 더 이상 존재하지 않는 것 같습니다. 그러나 다음과 같이 스스로 선언 할 수 있습니다.
void GSEventSetBacklightLevel(float level);
프로젝트에 Framework GraphicsServices.framework를 포함하지 않는 한 링커는 불만을 제기합니다.
백라이트를 끄는 것에 대한 귀하의 질문에 대해, 나는 당신이 매우 큰 음수를 GseventSetbacklightLevel에 전달하여 다음과 같이 할 수 있음을 알았습니다.
GSEventSetBacklightLevel(-INFINITY);
내 테스트에서 이것은 화면을 완전히 검게 할 것입니다.
백라이트가 꺼져 있어도 정적 그래픽을 표시하는 경우 LCD 픽셀에서 여전히 연소 될 수 있습니다. 그리고이 전화는 App Store에 제출하면 거절을 일으킬 것입니다.
이 코드를 시도하십시오. 도움이되기를 바랍니다 ...
// ViewWillAppear에서
float prevbrightnesslevel = [uiscreen mainscreen] .Brightness;
uiscreen mainscreen] .Brightness = 1.0;
// ViewWillDisAppear에서
uiscreen mainscreen] .Brightness = prevbrightnesslevel;