Как переключить значки камеры в режиме реального времени с портретного на альбомный режим на iPhone?

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

"Ошибка: CGAffineTransformInvert: сингулярная матрица"

Я попытался использовать маску автоматического изменения размера, а также попытался установить две разные рамки для значков как в портретном, так и в ландшафтном режиме в методе didRotateFromInterfaceOrientation. Но ни один из них не работает.

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

Вот скриншоты, показывающие поведение значков, перемещающих друг друга при переключении из портретного режима в альбомный. Я хочу именно так в своем пользовательском оверлее.

Изменить:

Я сделал так, чтобы экран в реальном времени моего пользовательского наложения камеры изменялся с помощью метода UIDevice Orientation. Но сейчас размер рамки не изменяется, когда я пытаюсь переключиться из портретного режима в ландшафтный. Итак, я просто хочу, чтобы весь кадр изменялся в ландшафтном режиме. Кроме того, в этом фрагменте кода, если я попытаюсь изменить значение CAMERA_TRANSFORM_Y,

#define CAMERA_TRANSFORM_X 1
#define CAMERA_TRANSFORM_Y 1.234

  self.picker.cameraViewTransform = CGAffineTransformScale(self.picker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);

размер вида наложения уменьшается как от верхнего, так и от нижнего поля. Но больше размер уменьшается снизу, чем с верхнего поля. Я хочу, чтобы размер наложения изменялся равномерно как сверху, так и снизу.

Это мой пример кода,

Пример проекта

Ландшафтный режим

Портретный режим


person Umesh Kumar    schedule 21.03.2013    source источник