堆栈间距被忽略

时间:2017-11-01 23:11:32

标签: ios autolayout

我是一个下载异步的图片。调整此图像的大小以通过约束适合屏幕。这似乎打破了表格单元格中图像和标签之间的垂直间距,这是由堆栈视图设置的。

表格视图

Table view

xCode约束

enter image description here

结果iPhone 5S

Result iPhone 5S

设置图像高度的代码:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "overview", for: indexPath) as! OverviewCell

    let upload = images[indexPath.row]

    cell.titleLabel.text = upload.image.title

    let cachedImage = cachedImages[upload.image.imageUrl]

    if let cachedImage = cachedImage {
        var cellFrame = cell.frame.size
        cellFrame.width = cellFrame.width - 30

        let resizedImage = cachedImage.resize(width: cellFrame.width)

        cell.imageView!.image = resizedImage

        cell.heightConstrain.constant = resizedImage.size.height
    }
    else {

        DispatchQueue.global().async {
            let data = try! Data.init(contentsOf: URL.init(string: upload.image.imageUrl)!)

            DispatchQueue.main.sync {
                self.cachedImages[upload.image.imageUrl] = UIImage.init(data:data)!

                self.tableView.beginUpdates()
                self.tableView.reloadRows(at: [indexPath], with: UITableViewRowAnimation.fade)
                self.tableView.endUpdates()

            }

        }
    }

0 个答案:

没有答案