본문 바로가기
프로그래밍/Xcode-iOS

iOS 화면 밝기 조정 방법

by Mr-후 2017. 9. 27.
반응형

iOS 화면 밝기 조정 방법



보통 간편결제시에 편의점에서 읽어 들이는 바코드의 경우 화면의 밝기가 가장 밝은 상태로 되었다가 바코드를 스캔하고 난 뒤에는 다시 원상 복귀를 하는 걸 보신 분들이 있을 것 같습니다. 


뭐 특이한 기능은 아닌데 아직까지 제가 해보지 않았던 기능이고 이미 구현된 소스가 있어 약간 가공을 해서 공통 유틸리티로 뽑아서 잘 사용하고 있습니다. 


iOS SDK의 UIScreen 클래스에 있는 프로퍼티를 설정하면 되는 간단한 기능입니다. 




/**

 * 스크린의 밝기를 최대로

 */

+ (void)setScreenLightMax {

    UIScreen *screen = [UIScreen mainScreen];

    NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];

    [defs setFloat:screen.brightness forKey:@"kScreenBrigthess"];

    [defs synchronize];

    

    [[UIScreen mainScreen] setBrightness:1.0];

}


/**

 * 스크린 밝기를 복원

 */

+ (void)setRestoreScreentLight {

    NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];

    CGFloat value = [defs floatForKey:@"kScreenBrigthess"];

    [[UIScreen mainScreen] setBrightness:value];

}


/**

 * 스크린 밝기를 리턴

 */

+ (CGFloat)getScreenBrightness {

    UIScreen *screen = [UIScreen mainScreen];

    CGFloat value = screen.brightness;

    return value;

}




바코드 리더기가 어두울 땐 잘 인식이 안된다고 해서 밝기를 높이는데 값은 0 ~ 1까지 Float형으로 지정할 수 있습니다. 


간단하지만 재미있는 기능이라 생각이 되어 올려 봅니다. 



반응형