2011-01-19 5 views
3

Я пытаюсь установить яркость подсветки, но она действует очень странно. Я использую частный API:Яркость iPhone iPhone не работает должным образом

[(id) [UIApplication sharedApplication] setBacklightLevel: 1.0f];

Однако, когда я называю это, экран тускнеет, не становясь на 100% ярким, как я думал. Я испытал это с различными числами, и вот что я получил:

0,2: темно

0,3: светло-

0,4: темно

0,5: темно

0.6 : светло-

0,7: темно

0,8: темно-

0,9: темно

1,0: темно

1,1: темно

1,2: светло-

1,3: темно-

1,4: темно

1,5: светло-

Некоторые из значений были немного ярче, чем самые темные значения, но это общая тенденция. Кажется, что шаблон не имеет никакого смысла. Кто-нибудь знает, какой масштаб должен быть включен?

+0

Я не могу ответить на ваш вопрос, но хочу обратить ваше внимание на то, что приложения, использующие частные API (этот включенный), не будут разрешены в App Store от Apple. Прошу прощения, если вы уже знаете об этой проблеме, но я подумал, что это может сэкономить ваше время, если вы этого не сделаете :) –

+2

Да, я знаю об этом. Я не собираюсь выпускать это в App Store. – Ned

+1

Просто чтобы проверить: у вас есть заголовок, объявляющий этот метод как принятие float? Существуют ли какие-либо предупреждения при компиляции? – Chuck

ответ

2

Проблема в том, что компилятор не знает, что метод принимает поплавок, если вы его не объявите. Таким образом, поплавок, который вы передаете, преобразуется в другой тип, когда вы его передаете, а затем этот новый битовый шаблон интерпретируется как метод float методом. Вам просто нужно, чтобы метод был объявлен в заголовке, о котором знает файл, и поплавок будет передаваться без изменений.