There are a couple of properties you could try modifying to solve this. The first and most likely one I'd try is the sessionPreset property on your AVCaptureSession. You'll probably want to try AVCaptureSessionPresetPhoto
, but there are more options, which can be found in the docs
[session setSessionPreset:AVCaptureSessionPresetPhoto];
This differs from the video presets in that it doesn't shorten the capture angle, whereas all of the video presets will zoom and crop the input.
Other than that, you may want to tweak the contentGravity property on the preview layer itself.
[previewLayer setContentsGravity:AVLayerVideoGravityResizeAspectFill];
It only has three options though, AVLayerVideoGravityResize
, AVLayerVideoGravityResizeAspect
, and AVLayerVideoGravityResizeAspectFill
.