Tableview 没有获取 Xib 文件高度
Tableview not getting Xib files height
我为我的表格视图创建了 3 个自定义 .xib 文件。
但是我不知道如何指定每个单元格的高度。
我已经在 viewdidLoad()
中实现了上面一行
tableview.estimatedRowHeight = 120
tableview.rowHeight = UITableView.automaticDimension
我刚刚在每个 .xib 文件中放置了一个 uiview,其中包含 4 个约束(前导、尾随、顶部、底部)
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
但是它没有为我的单元格设置正确的高度。
只有当我对值进行硬编码时,它才会起作用。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 200
}
如何处理这个问题,因为数据很快就会变成动态的,我无法更改这些硬编码值。
UIView默认没有高度值。当你尝试它时,这不会设置单元格的高度。
您可以尝试将 UILabel 或 UIButton 放置在您已设置 4 个约束(前导、尾随、顶部、底部)的 UIView 中。
注意:如果你想要UITableViewCell的自动高度,UILabel或UIButton也需要4个约束(leading, trailing, top, bottom)。
把你的UIView换成UILabel,行数设置为0,然后会根据UILabel的内容自动取高度
我为我的表格视图创建了 3 个自定义 .xib 文件。 但是我不知道如何指定每个单元格的高度。
我已经在 viewdidLoad()
中实现了上面一行tableview.estimatedRowHeight = 120
tableview.rowHeight = UITableView.automaticDimension
我刚刚在每个 .xib 文件中放置了一个 uiview,其中包含 4 个约束(前导、尾随、顶部、底部)
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
但是它没有为我的单元格设置正确的高度。
只有当我对值进行硬编码时,它才会起作用。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 200
}
如何处理这个问题,因为数据很快就会变成动态的,我无法更改这些硬编码值。
UIView默认没有高度值。当你尝试它时,这不会设置单元格的高度。
您可以尝试将 UILabel 或 UIButton 放置在您已设置 4 个约束(前导、尾随、顶部、底部)的 UIView 中。
注意:如果你想要UITableViewCell的自动高度,UILabel或UIButton也需要4个约束(leading, trailing, top, bottom)。
把你的UIView换成UILabel,行数设置为0,然后会根据UILabel的内容自动取高度