如何限制叠加到 UIImagePickerController 相机预览

How to constraint overlay to UIImagePickerController camera preview only

我正在使用 UIImagePickerController() 在我的 swift iOS 应用程序中显示相机并让用户拍照。我想显示一个网格作为叠加层,所以我开始将一个网格实现为 .cameraOverlayView

问题是叠加图像或视图会散布在相机视图顶部和底部的黑条上。这是不可取的,因为网格线会 运行 覆盖相机按钮、取消按钮等

我找不到一种方法来访问相机预览的帧 window 以将叠加层限制到那个。我错过了什么?

实际上,这可能有点烦人,无法获取那些条形图或相机预览区域的大小,并且您无法实现 UIImagePickerController 的子视图,所以您可以'不为此添加约束。 但是,您可以使用预览相机区域纵横比始终为 4/3 的事实,覆盖宽度应为屏幕宽度,高度应为 (widthScreen / 3) * 4

另一种方法是设置 imagePicker.showsCameraControls = false 并使用全屏覆盖构建自定义控件。
(使用imagePicker.cameraViewTransform设置相机预览区域框全屏)