AVCam не в полноэкранном режиме

Я интегрировал AVCam в свое приложение для iOS. Проблема в том, что в iPhone 4 рамка предварительного просмотра не является полноэкранной, она имеет пустые боковые границы...

Как я могу решить это?

Благодарю.

2 ответа

Решение

Вам нужно использовать videoGravity собственность AVCaptureVideoPreviewLayer,

Посмотрите на док. Вам необходимо использовать: AVLayerVideoGravityResizeAspectFill

Редактировать:

Исходя из этого, решение, основанное автором:

- (void)setSession:(AVCaptureSession *)session {
    ((AVPlayerLayer *)[self layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
    ((AVPlayerLayer *)[self layer]).bounds = ((AVPlayerLayer *)[self layer]).bounds;
    [(AVCaptureVideoPreviewLayer *)[self layer] setSession:session];
}

Исправлено с помощью следующего метода в AVCamPreviewView.

- (void)setSession:(AVCaptureSession *)session {
    ((AVPlayerLayer *)[self layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
    ((AVPlayerLayer *)[self layer]).bounds = ((AVPlayerLayer *)[self layer]).bounds;
    [(AVCaptureVideoPreviewLayer *)[self layer] setSession:session];
}
Другие вопросы по тегам