iphone - меняйте яркость экрана, как в iBook - PullRequest
3 голосов
/ 24 февраля 2011

В iBook пользователь может регулировать яркость экрана с помощью ползунка, верно?

Что мне нужно сделать, чтобы реализовать это?Какой класс или функцию мне следует использовать для управления яркостью экрана?

Спасибо

Ответы [ 3 ]

5 голосов
/ 19 декабря 2011

Начиная с iOS5, вы можете регулировать яркость дисплея, используя следующие параметры:

[UIScreen mainScreen].brightness = 0.5;
1 голос
/ 24 февраля 2011

Это частный API, поэтому, если вы хотите, чтобы ваше приложение было доступно в App Store, ответ будет "Вы не можете".Который отстой на нескольких уровнях.

Вы можете поднять отчет об ошибке в Apple.

1 голос
/ 24 февраля 2011

Привет, я нахожу в Интернете этот открытый исходный код от Алекса Якобсона

- (void) set_brightness:(float) new_brightness {
CGDirectDisplayID display[kMaxDisplays];
CGDisplayCount numDisplays;
CGDisplayErr err;
err = CGGetActiveDisplayList(kMaxDisplays, display, &numDisplays);

if (err != CGDisplayNoErr)
    printf("cannot get list of displays (error %d)\n",err);
for (CGDisplayCount i = 0; i < numDisplays; ++i) {
    CGDirectDisplayID dspy = display[i];
    CFDictionaryRef originalMode = CGDisplayCurrentMode(dspy);
    if (originalMode == NULL)
        continue;
            io_service_t service = CGDisplayIOServicePort(dspy);

    float brightness;
    err= IODisplayGetFloatParameter(service, kNilOptions, kDisplayBrightness,
                                    &brightness);
    if (err != kIOReturnSuccess) {
        fprintf(stderr,
                "failed to get brightness of display 0x%x (error %d)",
                (unsigned int)dspy, err);
        continue;
    }

    err = IODisplaySetFloatParameter(service, kNilOptions, kDisplayBrightness,
                                     new_brightness);
    if (err != kIOReturnSuccess) {
        fprintf(stderr,
                "Failed to set brightness of display 0x%x (error %d)",
                 (unsigned int)dspy, err);
        continue;
    }
}       

}
...