动态tableViewCell高度

时间:2017-04-22 07:04:12

标签: ios swift uitableview tableviewcell

我有一个tableViewCell,里面有一个标签,可能有多行高。我已将标签的var ids = { "77 Travel Trailer, up to 35 ft.": { min: 0, max: 35 }, "78 Travel Trailers over 35, License plate, not affixed to property": { min: 36, max: Number.MAX_VALUE }, "51 HS up to 35' length": { min: 0, max: 35 }, "51 HS over 35' thru 40' length": { min: 36, max: 40 }, } function getVehicleLengthByVehicleId(id, len) { for (var i in ids) { if (i == id) { min = ids[i].min; max = ids[i].max; if (len >= min && len <= max) { alert('Yes! ' + id + ' falls in range'); break; } } } } getVehicleLengthByVehicleId('77 Travel Trailer, up to 35 ft.', '20');属性设置为0.但是,当我将标签的文本设置为多行时,文本会被切断。以下是我设置故事板的方法:

cell

有人知道我是如何让桌子的单元格足够高以容纳标签吗?

2 个答案:

答案 0 :(得分:3)

设置动态单元格高度过程

  1. 从顶部和底部固定标签。请参阅以下屏幕截图
  2. enter image description here

    1. 从xcode的属性检查器设置标签的行数为0 ,也可以从代码中完成,请参考下面的屏幕截图
    2. enter image description here

      1. 实现下面提到的表格视图的代表

        func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return UITableViewAutomaticDimension
        }
        
        func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return 50 // also UITableViewAutomaticDimension can be used
        }
        

答案 1 :(得分:0)

您缺少从标签到表格视图单元格的底部约束(据我所知)。为了使自动布局知道单元格的高度必须有多大,您需要提供这些约束。

此外,不要忘记向表格视图提供estimatedRowHeight。如果未给出该值,则自动单元大小调整将不起作用。