【发布时间】:2018-11-04 19:27:31
【问题描述】:
【问题讨论】:
标签: ios swift uitableview uilabel
【问题讨论】:
标签: ios swift uitableview uilabel
如果你想做多行高,那么你做错了,然后确保你的 UILabel 属性的行数是 0 并且不要给出静态高度,还要确保你必须给出四个侧面约束(顶部,左、下、右)
label.numberOfLines = 0
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
return UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
{
return 50
}
【讨论】:
为了能够做到这一点
1- 给出标签前导、尾随、顶部和底部约束OR顶部、底部、centerX、fixedWidth/proportional
2- 将其设为 .lines 属性 = 0 进行包装
3- 不要对标签施加任何高度限制
4- 使用自动 tableViewCells 这意味着不要实现 heightForRowAt 并将其放入 viewDidLoad
tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension
【讨论】: