UIImage似乎占据了其UIImageView范围之外的空间?

时间:2018-09-20 14:58:37

标签: ios swift core-image

我有一个应用程序,在那里我拍照,然后继续在另一个UIViewController中呈现此图像。但是,所得的UIImage似乎超出了我设置UIImageView的范围。内容模式为“纵横填满”

拍照后,调用以下方法: 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:

enter image description here

具有UIButton的下部UIView的约束:

enter image description here

UIImageView的约束:

enter image description here

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

enter image description here

1 个答案:

答案 0 :(得分:3)

在UIImageViews中使用aspectFill时要当心。如果clipsToBounds不正确,则图像可能会延伸到框架之外。

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