ios - 如何根据UIImageView的高度来估算UITableViewCell的高度

标签 ios swift uitableview tableview

我正在开发聊天应用程序。

我想添加图片发布功能。

以下为省略代码

class ImageCell: UITableViewCell {
    @IBOutlet private weak var contentImageView: UIImageView!
    @IBOutlet private weak var imageViewHeightConstraint: NSLayoutConstraint!

    func prepare(url: String) {
        contentImageView.kf.setImage(url: url) { image in 
            let height = self.contentImageView.bounds.width / image.size.width * image.size.height
            self.heightConstraint.constant = min(300, height)
            self.layoutIfNeeded()
        }
    }
}

prepare()tableViewcellForRowAt 调用

但是,TableViewCell 的高度并没有很好地改变。

我该如何解决?

谢谢。

附言

extension UIViewController: UITableViewDataSource {

    ffunc tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.elements.count
    }

     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ImageCell", for: indexPath)
        cell.prepare(url: elements[indexPath.row].url)
        return cell
    }
}

enter image description here

最佳答案

在单元格中的 UIImageView 上放置前导、顶部、底部和右侧约束。

heightForRow方法返回图片的高度:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return image.size.height
}

关于ios - 如何根据UIImageView的高度来估算UITableViewCell的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53474871/

相关文章:

objective-c - iOS 中的 fopen 问题

iphone - 帮助解决我的应用崩溃的原因?

c++ - 分配抽象类类型的对象

ios - 如何让 xcode 4.6 ios6 中的 TableView 正常工作?

ios - 以编程方式将 UILabel 字体设置为用户定义的运行时属性

ios - 禁用时在 UIButton 上设置背景颜色?

swift - UIColor 作为 Swift 中函数参数的奇怪行为

ios - Collection View 单元格 alpha 在滚动后发生变化

ios - 坚持一个 RLMObject

xcode - 静态 UITableView 在内容 View 中不显示带有 subview (UIButton、UISlider 等)的单元格