动态 tableViewCell 高度
Dynamic tableViewCell height
我有一个 tableViewCell,里面有一个标签,可能有多行高。我已将标签的 Lines
属性 设置为 0。但是,当我将标签的文本设为多行时,文本会被截断。以下是我设置故事板的方式:
有人知道我是如何让 table 的单元格足够高以包含标签的吗?
您缺少从标签到 table 视图单元格的底部约束(据我所知)。为了使自动布局知道单元格的高度必须有多大,您需要提供这些约束。
此外,不要忘记将 estimatedRowHeight
提供给 table 视图。如果未给出该值,自动调整单元格大小将不起作用。
设置动态单元格高度程序
- 从顶部和底部固定标签。请参考以下截图
- 从 xcode 的 属性 inspector 开始,将标签的 numbers of line 设置为 0,也可以通过代码完成,请参考以下屏幕射击
实现下面提到的 table 视图的委托
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
}
我有一个 tableViewCell,里面有一个标签,可能有多行高。我已将标签的 Lines
属性 设置为 0。但是,当我将标签的文本设为多行时,文本会被截断。以下是我设置故事板的方式:
有人知道我是如何让 table 的单元格足够高以包含标签的吗?
您缺少从标签到 table 视图单元格的底部约束(据我所知)。为了使自动布局知道单元格的高度必须有多大,您需要提供这些约束。
此外,不要忘记将 estimatedRowHeight
提供给 table 视图。如果未给出该值,自动调整单元格大小将不起作用。
设置动态单元格高度程序
- 从顶部和底部固定标签。请参考以下截图
- 从 xcode 的 属性 inspector 开始,将标签的 numbers of line 设置为 0,也可以通过代码完成,请参考以下屏幕射击
实现下面提到的 table 视图的委托
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 }