を初期化し、次のAVCaptureSession
ようにプリセットします。
AVCaptureSession *newCaptureSession = [[AVCaptureSession alloc] init];
if (YES==[newCaptureSession canSetSessionPreset:AVCaptureSessionPresetPhoto]) {
newCaptureSession.sessionPreset = AVCaptureSessionPresetPhoto;
} else {
// Error management
}
次に、次をセットアップしますAVCaptureVideoPreviewLayer
。
self.preview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height/*426*/)];
CALayer *previewLayer = preview.layer;
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.session];
captureVideoPreviewLayer.frame = previewLayer.frame;
[previewLayer addSublayer:captureVideoPreviewLayer];
captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspect;
私の質問は次のとおりです。画面にすべてのレイヤーを表示するために必要
な正確なものを取得するにはどうすればよいですか? より正確には、フィットするように高さが必要ですか?ぴったり合う AVCaptureVideoPreviewLayer サイズを取得しようとしています。CGSize
captureVideoPreviewLayer
AVLayerVideoGravityResizeAspect
AVCaptureVideoPreviewLayer
preview.size
ご協力ありがとうございました