更改UIImagePicker宽高比

所以我试图在我的iOS应用程序中制作自定义相机。

我想让相机全屏像snapchats一样。

但我无法找到任何可以帮助我将宽高比从4:3(默认)更改为16:9(iPhone 5和5s,4“屏幕)的地方。

谁能指出我正确的方向?

这里有一点无耻的自我推销,但我有一个相机项目,可以完成你想做的一切,而且你可以为你的项目进一步定制。 GitHub上

它可以为您完成所有切割/尺寸/宽高比,同时仍然可以在所有设备上全屏显示。

否则,如果您不喜欢它,github / cocoacontrols /其他地方还有很多其他选项。 你也可以通过检查AVFoundation制作自己的

您需要更改UIImagePickerController的cameraViewTransform:

 CGSize screenBounds = [UIScreen mainScreen].bounds.size; CGFloat cameraAspectRatio = 4.0f/3.0f; CGFloat camViewHeight = screenBounds.width * cameraAspectRatio; CGFloat scale = screenBounds.height / camViewHeight; pickerController.cameraViewTransform = CGAffineTransformMakeTranslation(0, (screenBounds.height - camViewHeight) / 2.0); pickerController.cameraViewTransform = CGAffineTransformScale(pickerController.cameraViewTransform, scale, scale);