【问题标题】:How to reduce the image size coming from web services?如何减小来自 Web 服务的图像大小?
【发布时间】:2017-07-21 06:36:31
【问题描述】:

在下面显示的图像中,我从 Web 服务获取图像并将其传递给表格视图,但是当向上和向下滚动时,图像大小正在增加,并且它在标签上重叠,并且我已经给出了约束,任何人都可以帮助我如何避免这种情况?

【问题讨论】:

标签: ios uitableview swift3


【解决方案1】:

嘿,您不需要调整图像大小。

  1. 首先在表格视图单元格中使用约束设置固定图像视图的高度宽度
  2. 第二次将imageview设置为aspectFit。

    imageView.contentMode = UIViewContentModeScaleAspectFit;
    
  3. 像这样为您的图像视图添加约束

希望您能成功使用它,如果您对此有任何疑问,请评论将有所帮助

【讨论】:

  • 之前我已经给出了高度限制,但是当我给定图像视图纵横比时,问题仍然存在,只需查看我的图像i.stack.imgur.com/30ioV.png
  • @VamsiKrishna .. 还请设置您的 imageview 的固定宽度,因为它仍然在宽度部分自动调整大小。所以请固定宽度
  • 请再试一次.. 删除所有单元格约束并先设置图像视图约束,然后再设置其他约束
  • i.stack.imgur.com/onYm4.png 这些是我对图像视图的限制
  • 不要设置尾随空格..它的错误..约束超出循环。请参阅我在答案中附加的图片
【解决方案2】:

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

致电let imageData = image.compressImage(rate: 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 扩展中。

【讨论】:

    【解决方案3】:

    我在表格视图单元格上放置了一个视图,然后我放置了所有元素并为其中的视图和元素提供了约束,然后我的问题已经减少并且在滚动时也可以正常工作,如下图所示。

    这是这个屏幕的布局

    【讨论】:

      猜你喜欢
      • 2017-01-10
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 2017-02-06
      • 2019-04-13
      • 1970-01-01
      相关资源
      最近更新 更多