Тусклая подсветка iPhone вверх ногами
Я видел в приложении для iOS "Будильник с циклическим режимом сна", что когда iPhone обращен экраном вниз (к полу), ему удается уменьшить яркость подсветки экрана. Я искал по всему интернету и не могу найти API, который обеспечивает эту функцию.
Я предполагаю, что они достигают этого, измеряя ускорение на устройстве от силы тяжести и затемняя задний свет соответственно, с которым у меня нет проблем. Я просто не знаю, как они приглушили подсветку (в том числе и в строке состояния!). Это не полупрозрачный черный UIView, наложенный на суперпредставление, свет определенно выключается.
Проблема не в обнаружении, а в том, что я не знаю, как это сделать.
Кто-нибудь может указать мне на правильный метод / документацию API? Я использую iOS 6 SDK.
Спасибо
РЕДАКТИРОВАТЬ:
Извините, ребята, кажется, что я был не прав. Дальнейшее расследование заставляет меня поверить, что они не приглушили подсветку. Инструкции временно остаются над суперпредставлением. Я думаю, что они на самом деле накладывают черное изображение и удаляют строку состояния. Мои извенения! Чтобы обойти блокировку ориентации для определения ориентации, я думаю, что они используют акселерометр.
2 ответа
Обнаружение, если устройство лицевой стороной вниз, может быть сделано с помощью UIDevice orientation
, Это вернется UIDeviceOrientationFaceDown
когда экран обращен к полу.
Посмотрите на UIScreen
класс для пары методов, связанных с яркостью.
Попробуй это:
[[UIScreen mainScreen] setBrightness:0.5]; //Any value you think works
Для получения дополнительной информации о UIScreen и о том, что вы можете с ним сделать, смотрите документацию:
РЕДАКТИРОВАТЬ: Просто прочитайте комментарии к другому ответу, какие проблемы вызывает этот метод?