Как определить поворот вида наложения камеры - PullRequest
2 голосов
/ 20 февраля 2012

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

Я уже выполнил это, зарегистрировавшись в уведомлении UIDeviceOrientationDidChangeNotification, а затем прочитав значение в [UIDevice currentDevice].orientationи установив значение преобразования моего вида наложения камеры.

Проблема в том, что уведомление UIDeviceOrientationDidChangeNotification не срабатывает, когда пользователь блокирует интерфейс на своем iPhone (, но камера продолжает вращаться !).

Я пробовал несколько альтернатив, например, зарегистрировался в уведомлении PLCameraDeviceOrientationChangedNotification, которое я обнаружил, когда меня регистрировали, когда я регистрировался для каждого уведомления, но он не содержиториентация на словарь userInfo.Я также пытался настроить NSTimer для запуска каждые 0,5 с и проверить [UIDevice currentDevice].orientation, но он всегда сообщает UIDeviceOrientationPortrait, когда он заблокирован, независимо от фактической ориентации устройства.

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

Спасибо.

1 Ответ

1 голос
/ 20 февраля 2012

Мое мнение, невозможно получить сообщения об ориентации устройства, если пользователь заблокировал его ориентацию устройства.

Но акселерометр никогда не лжет и должен дать вам правильную информацию.

Juste take aпосмотрите на: Определение ориентации экрана iPhone

РЕДАКТИРОВАТЬ: вот образец яблока для использования акселерометра.

https://developer.apple.com/library/ios/#samplecode/AccelerometerGraph/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007410

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...