我想在我的 UIImagePickerController 中添加一个叠加层,但我只需要它来覆盖相机预览,而不是顶部或底部的相机控件。我找不到任何方法来做到这一点,因为每个设备上的顶部/底部控件高度都不同。我以前在其他应用程序上看到过它。任何指导表示赞赏。
imagePicker.sourceType = .camera
let overlay = UIView()
overlay.backgroundColor = UIColor(white: 1, alpha: 0.5)
imagePicker.cameraOverlayView!.addSubview(overlay)
// This is using a UIView extension to constrain my views. It's as simple as it looks.
overlay.anchor(top: imagePicker.cameraOverlayView!.topAnchor, left: imagePicker.cameraOverlayView!.leftAnchor, bottom: imagePicker.cameraOverlayView!.bottomAnchor, right: imagePicker.cameraOverlayView!.rightAnchor, paddingTop: 0, paddingLeft: 0, paddingBottom: 0, paddingRight: 0, width: 100, height: 100)
self.present(imagePicker, animated: true, completion: nil)
我希望这个半透明的 UIView 只填充红色区域。我将框架创建为 3:4 没有问题,但它不会在 Y 轴上正确定位。imagePicker.cameraOverlayView!.centerYAnchor
与设备的 centerYAnchor 相同。