Ios UIImage似乎占用了超出其UIImageView边界的空间?
我有一个应用程序,通过它我可以拍摄一张照片,然后在另一个UIViewController中呈现这个图像。但是,生成的UIImage似乎超出了我设置UIImageView的边界。内容模式为“方面填充” 拍照后,调用以下方法: CaptureImageViewController:Ios UIImage似乎占用了超出其UIImageView边界的空间?,ios,swift,core-image,Ios,Swift,Core Image,我有一个应用程序,通过它我可以拍摄一张照片,然后在另一个UIViewController中呈现这个图像。但是,生成的UIImage似乎超出了我设置UIImageView的边界。内容模式为“方面填充” 拍照后,调用以下方法: CaptureImageViewController: func presentCapturedImage(image: CGImage, observationObj: VNRectangleObservation) -> Void { print("HERE
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()中调用以下内容:
用于显示图像的UIViewController:
按住UIView按钮的下部UIView的约束:
UIImageView的约束:
结果视图-您可以看到图像覆盖了裁剪按钮的大部分:
在UIImageView中使用
aspectFill
时要小心。如果clipstobunds
不正确,图像可能会延伸到帧外
当以完全填充图像视图帧的方式缩放图像时,会发生这种情况。如果图像和帧的比例不完全相同,图像将延伸到帧之外。在UIImageView中使用
aspectFill
时要小心。如果clipstobunds
不正确,图像可能会延伸到帧外
当以完全填充图像视图帧的方式缩放图像时,会发生这种情况。如果图像和边框的比例不完全相同,则图像将延伸到边框之外。是否已将imageView设置为
clipsToBounds
?AspectFill可以在图像未被剪裁的情况下将其缩放到边界之外。@JonJ-谢谢。这就是解决办法。如果您想将其添加为答案,我可以接受。您是否已将imageView设置为clipsToBounds
?AspectFill可以在图像未被剪裁的情况下将其缩放到边界之外。@JonJ-谢谢。这就是解决办法。如果你想补充这一点作为回答,我可以接受。
@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