Плавное вращение ориентации AVCaptureVideoPreviewLayer

Я пытаюсь отключить любое заметное вращение ориентации для AVCaptureVideoPreviewLayer, сохраняя при этом вращение для любых подвидов. AVCaptureVideoPreviewLayer действительно имеет свойство ориентации, и его изменение позволяет правильно отображать слой при любой ориентации. Однако вращение включает в себя некое необычное вращение AVCaptureVideoPreviewLayer, вместо того, чтобы оставаться плавным, как в приложении «Камера».

Вот как я получил правильную ориентацию без заминки при вращении:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    _captureVideoPreviewLayer.frame = self.view.bounds;
    _captureVideoPreviewLayer.orientation = [[UIDevice currentDevice] orientation];
}

Как Могу ли я заставить этот слой действовать как приложение «Камера», сохраняя при этом вращение для его подвидов?

Кроме того, я заметил, что свойство ориентации обесценилось в AVCaptureVideoPreviewLayer, и следует использовать свойство videoOrientation для AVCaptureConnection вместо этого, но я не думаю, что у меня есть AVCaptureConnection для доступа здесь (я просто отображаю камеру на экране). Как мне настроить это для доступа к videoOrientation?

14
задан Jordan 10 August 2011 в 19:59
поделиться