Как изменить яркость в приложении iOS 5? - PullRequest
19 голосов
/ 21 ноября 2011

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

Ответы [ 4 ]

35 голосов
/ 21 ноября 2011

Класс UIScreen имеет новое свойство с именем brightness.

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

Свойство brightness принимает значение с плавающей точкой от 0 до 1. Итак:

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

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

UIScreen *mainScreen = [UIScreen mainScreen];
mainScreen.brightness = .5; //should set the brightness at 50%
1 голос
/ 04 октября 2012

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

[[UIScreen mainScreen] setBrightness:1.0];

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

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

1 голос
/ 21 ноября 2011

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

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

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

...