UIImage 似乎占用 space 超出其 UIImageView 的范围?

UIImage appears to take up space beyond the bounds of its UIImageView?

我有一个应用程序,我在其中拍照,然后继续在不同的 UIViewController 中显示此图像。但是,生成的 UIImage 似乎超出了我设置 UIImageView 的范围。内容模式为'Aspect fill'

拍照后,调用了下面的方法: CaptureImageViewController:

func presentCapturedImage(image: CGImage, observationObj: VNRectangleObservation) -> Void {
    print("HERE!")

    let prevVC  = storyboard?.instantiateViewController(withIdentifier: "prevcrop") as! PreviewCropViewController
    prevVC.cgImg = image
    prevVC.uiImageEXIF = uiImageEXIF
    prevVC.ObserObj = observationObj

    DispatchQueue.main.async {
        self.present(prevVC, animated: true, completion: nil)
    }
}

PresentingViewController 在其 viewDidLoad() 中调用以下内容:

@IBOutlet weak var imgPreViewOutlet: UIImageView!


guard
        let img = self.cgImg,
        let imgEXIF = self.uiImageEXIF else{return}

    let uiImage = UIImage.init(cgImage: img)

    self.imgPreViewOutlet.image = uiImage

我用来展示图片的UIViewController:

持有UIButton的下层UIView的约束:

UIImageView的约束条件:

生成的视图 - 您可以看到图像几乎覆盖了所有裁剪按钮:

在 UIImageViews 中使用 aspectFill 时要小心。如果 clipsToBounds 不正确,图像可能会超出框架。

当图像以完全填充图像视图框架的方式缩放时会发生这种情况。如果图像和框架的比例不完全相同,图像将延伸到框架之外。