Ios 如何减少来自web服务的图像大小?

Ios 如何减少来自web服务的图像大小?,ios,uitableview,swift3,Ios,Uitableview,Swift3,在下图中,我从web服务获取图像并将其传递到表视图,但当上下滚动图像时,图像大小增加,并且在标签上重叠,并且我已经给出了约束条件,有人能帮助我避免这种情况吗 嘿,你不需要调整图像的大小 首先在tableview单元格中设置具有约束的图像视图的固定高度和宽度 第二,将imageview设置为aspectFit imageView.contentMode = UIViewContentModeScaleAspectFit; 约束像这样添加到图像视图中 希望您能成功使用它,如果您对此有任何疑问,只需

在下图中,我从web服务获取图像并将其传递到表视图,但当上下滚动图像时,图像大小增加,并且在标签上重叠,并且我已经给出了约束条件,有人能帮助我避免这种情况吗


嘿,你不需要调整图像的大小

首先在tableview单元格中设置具有约束的图像视图的固定高度和宽度 第二,将imageview设置为aspectFit

imageView.contentMode = UIViewContentModeScaleAspectFit;
约束像这样添加到图像视图中


希望您能成功使用它,如果您对此有任何疑问,只需发表评论将有助于

使用内容模式调整图像是一个选项,但如果您想裁剪或调整其大小或压缩图像,请检查以下代码

调用像let imageData=image.compressImagerate:0.5这样的函数,然后您可以根据需要提供数据来写入图像

func compressImage(rate: CGFloat) -> Data? {
        return UIImageJPEGRepresentation(self, rate)
    }
或者如果你想裁剪图像

func croppedImage(_ bound: CGRect) -> UIImage? {
        guard self.size.width > bound.origin.x else {
            print("X coordinate is larger than the image width")
            return nil
        }
        guard self.size.height > bound.origin.y else {
            print("Y coordinate is larger than the image height")
            return nil
        }
        let scaledBounds: CGRect = CGRect(x: bound.x * self.scale, y: bound.y * self.scale, width: bound.w * self.scale, height: bound.h * self.scale)
        let imageRef = self.cgImage?.cropping(to: scaledBounds)
        let croppedImage: UIImage = UIImage(cgImage: imageRef!, scale: self.scale, orientation: UIImageOrientation.up)
        return croppedImage
    }

确保将上述方法添加到UIImage Extension中。

我在表格视图单元格上放置了一个视图,然后我放置了所有元素,并为视图和其中的元素提供了约束,然后我的问题得到了解决,在滚动时也能很好地工作,如下图所示

以下是此屏幕的布局


加载前调整图像大小如何调整图像大小@安布。卡提克。检查此项以调整图像大小。是否有人可以发布swift的答案?这是在objective c@VishalKalola中将代码转换为swift。之前,我已经给出了高度限制,但当我给出图像视图方面适合度时,问题仍然存在,请查看我的图像@VamsiKrishna。。还请设置imageview的固定宽度,因为它的宽度部分仍然具有自动调整大小的功能。因此,请修复宽度,请再试一次。。删除所有单元格约束,首先设置图像视图约束,然后设置其他约束。图像视图的这些约束不设置尾随空间。。这是错误的。。约束是超循环的。请看图片,我已经附上了答案