UIImagePickerController's cameraOverlayView смещается после фотографирования

Когда вы реализуете cameraOverlayView для UIImagePickerControllerэтот вид появляется во время съемки фотографии и после съемки, что дает вам возможность отменить или повторно сделать фотографию. Проблема, которую я вижу, заключается в том, если ваш cameraOverlayView находится в верхней части области предварительного просмотра фотографии, когда вы делаете снимок и показывает предварительный просмотр, сделанная вами фотография не совпадает с cameraOverlayView больше. Вся панель предварительного просмотра фотографий была перемещена вниз на ~50 пунктов, в то время как cameraOverlayView остался на месте. Это проблема, когда вам нужно, чтобы фотография была идеально выровнена с видом.

Как это можно отрегулировать так, чтобы они были идеально выровнены - во время съемки и после того, как она была сделана?

Обратите внимание, как вся область предварительного просмотра сдвигается вниз после съемки фотографии.

1 ответ

У меня была похожая проблема, и я нашел следующий способ:

if (IPhone5 || IPhone5c || IPhone5s)
{
     imagePicker.cameraViewTransform = CGAffineTransformTranslate(imagePicker.cameraViewTransform, 0, 30);
}
else if (IPhone6 || IPhone6Plus)
{
     imagePicker.cameraViewTransform = CGAffineTransformTranslate(imagePicker.cameraViewTransform, 0, 44);
}

Это гарантирует, что сделанный снимок будет примерно в том же центре, что и слой предварительного просмотра камеры (в портретной ориентации).

Другие вопросы по тегам