首页 > 解决方案 > 为 UITableViewCell 动态设置高度的最佳方法

问题描述

我有一个UITableView可以显示视频、html 和图像的单元格,以及一个音频播放的 UI。这实际上是 3 个不同的单元格,它们可能在任何给定时间点都可能位于 tableView 中。相同类型的单元格可以有不同的高度。这就是我要解决的问题。在我看过/通读的所有教程中,没有人教我如何设置计算然后动态设置高度。我只阅读了向您展示如何使用具有静态高度的不同单元格的表格视图的内容。关于如何解决这个问题的任何建议?

标签: iosswiftuitableview

解决方案


在表格视图单元格中为单元格项目应用自动布局并将其与顶部和底部绑定并estimatedHeightForRowAt用作:

func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    return UITableViewAutomaticDimension
}

或者您可以手动将不同行的高度设置为:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 50 // rather than 50 return height you need to set
}

推荐阅读