Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIImageView框架正确,contentMode正确,图像显示不正确_Ios_Swift_Core Data_Uiimageview - Fatal编程技术网

Ios UIImageView框架正确,contentMode正确,图像显示不正确

Ios UIImageView框架正确,contentMode正确,图像显示不正确,ios,swift,core-data,uiimageview,Ios,Swift,Core Data,Uiimageview,我从照片中选择图像: func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let imageCropper = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ImageCropperVC")

我从照片中选择图像:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

    let imageCropper = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ImageCropperVC") as! ImageCropperViewController
    imageCropper.delegate = self
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage

    picker.dismiss(animated: true, completion: nil)
    present(imageCropper, animated: false, completion: {
        imageCropper.imageView.image = image
    })
}
然后裁剪此图像:

@IBAction func crop(_ sender: UIButton) {
    let croppedCGImage = imageView.image?.cgImage?.cropping(to: cropArea)
    let croppedImage = UIImage(cgImage: croppedCGImage!)
    delegate.processCroppedImage(image: croppedImage, cropper: self)
}
然后将数据传递给“采集视图”单元:

func processCroppedImage(image: UIImage, cropper: ImageCropperViewController) {
    let imageData = UIImagePNGRepresentation(image)! as NSData
    let i = Side(context: managedObjectContext)
    i.image = imageData
    imagePickerTarget!.knowledgeComponent = i
    cropper.dismiss(animated: true, completion: nil)
}
当单元格获取数据时,它会执行以下操作:

if let imageData = knowledgeComponent?.image {
        if let image = UIImage(data: imageData as Data) {
            buttonStack.isHidden = true
            imageView.isHidden = false
            imageView.image = image
        }
    }
但是图像显示不正确,它被放大了

我检查了数值

  • 所有视图的框架均正确(300*400)
  • 图像的大小大致相同(301*401)
  • 图像的比例和插入正确
我找遍了所有我能找到的问题,但都不能解决我的问题,我怀疑我的图像数据有问题,可能是这样吗?如果不是,可能是什么


这个错误让我不想再使用UIImageView了:(

我想我发现了问题(某种程度上),多亏@TawaNicolas的提示,图像裁剪器有点问题,即使图像大小是正确的,也许在iPad上300*400的图像不等于300*400的图像视图


无论如何,我似乎可以通过调整图像裁剪器来改变结果,万岁!

在裁剪之前是否尝试过显示图像?可能是
图像裁剪器有问题?尝试绕过裁剪器并显示结果,这样可以正确地开始调试并发现问题所在。@TawaNico我刚试过,这次效果很好:)