是否有可能使摄像机选择器看起来像它在拍摄视频时的样子。
现在是这样的:
我想让它看起来更像这样:

最佳答案

您不能像UIImagePickerController提供的截图那样,直接使用AVFoundation并围绕相机预览创建UI。
Apple解释了基本的here并且在web上提供了多个类似于one的教程,这些教程将向您解释捕获静态或动态照片所需了解的一切。
编辑:可以使用UIImagePickerController进行编辑
首先需要将showsCameraControls属性设置为false。然后,需要使用cameraOverlayView属性和自己的控件(例如,UIButton是一个UIView)添加自己的覆盖,然后将takePictures()等函数分配给按钮来拍照。

imagePicker.sourceType = .camera
imagePicker.showsCameraControls = false
imagePicker.delegate = self
imagePicker.cameraOverlayView = yourOverlayWithWithButtons

相机预览将需要转换为全屏(3倍的比例要大,但至少要使预览在iPhone X上全屏显示,您当然可以改进这一点):
imagePicker.cameraViewTransform = CGAffineTransform(scaleX: 3, y: 3)

请注意cameraOverlayView属性的苹果文档显示:
只有当图像选取器的源类型设置为uiImagePickerControl.SourceType.camera时,才能访问此属性。尝试对其他源类型访问此属性会引发invalidArgumentException异常。
请查看UIImagePickerControllercameraOverlayViewshowCameraControls上的Apple文档。

10-08 12:01