ios - Tableview 没有得到 Xib 文件的高度
问题描述
我为我的 tableview 创建了 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 默认没有高度值。当你尝试它时,这不会设置单元格的高度。
您可以尝试在已解决 4 个约束(前导、尾随、顶部、底部)的 UIView 内放置 UILabel 或 UIButton。
注意:如果你想要 UITableViewCell 的自动高度,UILabel 或 UIButton 还需要 4 个约束(前导、尾随、顶部、底部)。
推荐阅读
- python - 在 python 中,iter() 方法如何使可迭代成为迭代器?__next__ 方法是如何神奇地出现在迭代器的目录中的?
- python-3.x - Pygame 水物理没有按预期工作
- java - 将 if-else 转换为 switch case 会引发错误 [Java]
- spring-data - 对 Oracle 的 spring-data-jdbc 支持
- php - 当我运行 react-native run-android 时出现此错误
- firebase - Firebase 自定义声明作为列表 + 安全规则
- r - 大量存储 rnorm 样本的所有值(向量),以便稍后进行 Tukey 测试
- linux - `do_new_mount_fc()`如何挂载像ext4这样的真实文件系统?
- python - 在我的逻辑回归程序中发现错误
- java - 了解一种方法如何计算一个数的幂