来自URL的图像加载会增加iOS中单元格的大小

时间:2018-01-09 06:02:10

标签: ios swift uitableview

我有一个UITableViewCell。 Cell有一个视图,顶部有两个标签。底部。我正在显示视图的背景图像。当我放置占位符图像时,大小是正常的,但是当我从服务器加载任何图像时,单元格的大小会增加。我给出了适合图像视图的方面。 imageview的高度将等于视图。

以下是加载图片的代码:

func setImage(imageStringUrl:String) {        
    if self.imageView?.image == nil {
        let strUrl = APIHandler().baseURL.url + "storage/Admin/category/" + imageStringUrl
        DILog.print(items: "STRING URL \(strUrl)")
        let url = URL(string: strUrl)
        if url != nil {
            let data = try? Data(contentsOf: url!)
            if let imageData = data {
                let image = UIImage(data: imageData)
                self.imageOffer.image = image
            }
        }
    }
}

2 个答案:

答案 0 :(得分:0)

你已经修改了它的高度并将内容设置为宽高比适合这就是为什么根据它的高度,它的大小是由于方面适合而计算的,因此增加了单元格大小(因为我期望你为tableViewCell设置automaticHeight)。

如果您将内容设置为中心,那么即使您为tableViewCell设置了自动高度,也不会遇到此问题。

如果您设置scaleToFill,那么您也不会遇到此问题。

答案 1 :(得分:0)

要检查的第一件事。不要使用UITableViewCell的默认imageView。通过将一个UIImageView拖放到单元格中来添加自己的UIImageView。特别是不要将名称用作" imageView"。

如果这不起作用,请比较占位符图像和从服务器下载的图像,并尝试查找大小差异。不要使用尺寸大于>的图像。 1024 x 1024.如果它的大小更大,那么你可能需要调整它们的大小以适应它。

你可以试试的其他事情: - 检查imgViewForCell.autoResizingMask设置为UIViewAutoResizingNone。

- 将imgViewForCell.clipsToBounds设置为YES