这是我的布局。标签在ContentView顶部的顶部是58pt。标签的numberOfLine是0.因此它可以自动输入。
我想要每个单元格的高度是58.0 + 10.0 +标签的高度。
我试过这段代码。
TV.estimatedRowHeight = 68
TV.rowHeight = UITableViewAutomaticDimension
但没效果。
然后尝试了这段代码。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let cell = tableView.cellForRowAtIndexPath(indexPath) as! CommentDetailCell
return 68.0 + cell.Comment.frame.size.height
}
再没有用了。
然后尝试这个!创建一个数组来存储每个单元格的labelHeight的高度。
var CommentHeightA:[CGFloat] = [60.0,60.0,60.0,60.0]
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
let cell:CommentDetailCell = tableView.dequeueReusableCellWithIdentifier("cell") as! CommentDetailCell
cell.UserImg.image = UIImage(named: UserImgA[indexPath.row])
cell.AtNum.text = AtNumA[indexPath.row]
cell.LikeNum.text = LikeNumA[indexPath.row]
cell.isLike.image = UIImage(named: isLikeA[indexPath.row])
cell.Comment.text = CommentA[indexPath.row]
CommentHeightA[indexPath.row] = cell.Comment.frame.size.height
return cell
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 68.0 + CommentHeightA[indexPath.row]
}
并且:(以上所有方式都失败了。
那么我怎样才能得到我想要的东西呢?
更新
我添加了底部约束并使用了第一种方式。
这是结果。只有第一行有适当的高度。
答案 0 :(得分:0)
您需要在评论标签中向内容视图添加底部约束。然后添加以下代码:
TV.estimatedRowHeight = 68
TV.rowHeight = UITableViewAutomaticDimension
它会起作用,