Как изменить яркость в приложении iOS 5?

Как бы я запрограммировал возможность изменять яркость в приложении? Я знаю, что это возможно, поскольку я видел по крайней мере три приложения, которые могут это сделать. Это было бы очень полезно для моего приложения. Я знаю, что это возможно только в iOS 5 с классом UIScreen, но я не знаю, как его программировать. Пожалуйста, помогите мне!

4 ответа

Решение

UIScreen класс имеет новое свойство под названиемbrightness,

Кроме того, есть еще одно свойство под названием wantsSoftwareDimming что (когда установлено YES) позволяет вам опускаться ниже минимальной яркости, поддерживаемой аппаратным обеспечением, потому что специальный "вид затемнения" накладывается на экран, чтобы затемнить вещи еще дальше.

brightness собственность плавает от 0 в 1, Так:

  • с wantsSoftwareDimming установлен в NO (по умолчанию), brightness из 0 означает "самое темное оборудование поддерживает" и brightness из 1 означает "самое яркое аппаратное обеспечение".
  • с wantsSoftwareDimming установлен в YES, brightness из 0 означает "самое темное оборудование поддерживает ПЛЮС затемнение путем наложения затемнения", и brightness из 1 по-прежнему означает "самое яркое аппаратное обеспечение".

Я никогда не пробовал, но, глядя на документы, все должно выглядеть так:

UIScreen *mainScreen = [UIScreen mainScreen];
mainScreen.brightness = .5; //should set the brightness at 50%

Вы можете использовать любой из этих двух:

  1. [[UIScreen mainScreen]setBrightness:1.0];

  2. GSEventSetBacklightLevel(0.5f); Но это частный вызов API, если вы его используете, ваше приложение, несомненно, будет отклонено.

Как отмечали другие, вы можете использовать

[[UIScreen mainScreen] setBrightness:1.0];

НО быть очень осторожным, потому что вы столкнетесь с проблемами (говоря из опыта здесь), посмотрите на это: IOS5 setBrightness не работал с applicationWillResignActive и это: Кто-нибудь был в состоянии использовать [[UIScreen mainScreen] setBrightness] на фоне / выходе?

(Я хотел бы, чтобы, когда я обнаружил эту тему / ответ):-(

Другие вопросы по тегам