Библиотека
Zxing
использует структуру AVFoundation
для отображения слоя камеры в реальном времени. Этот слой (prevLayer
) добавляется в слой вида ZXingWidgetController
в методе initCapture
. Поэтому, когда вы поворачиваете камеру, этот слой также вращается. Чтобы сохранить этот слой в фиксированном положении, вам нужно будет снова повернуть его на 0, M_PI, -M_PI/2, M_PI/2
в portrait, upsideDown, landscapeRight, landscapeLeft
, используя следующее преобразование вращения
CATransform3D transform = CATransform3DMakeRotation(angle, 0, 0, 1.0);
self.prevLayer.transform =transform;
self.prevLayer.frame = frame; // you may need to set it also if needed.