请查看下面的模拟器屏幕快照,其中您将看到:
我通过情节提要创建了该界面。在界面生成器中,我小心地以完全相同的方式创建了两个表,除了颜色之外。 我提供了一个Xcode屏幕快照,可能会有所帮助。请注意,添加到原型单元的标签的边缘固定在单元的边缘。
我无处可设置表格行高。在数据源的cellForRowAt方法中,我正在打印像元高度:据报告它们是44个,我知道这是默认值。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: UITableViewCell
if tableView === upperTable {
cell = tableView.dequeueReusableCell(withIdentifier: "upper")!
(cell as! TableViewCell).label.text = upperData[indexPath.row]
print("Upper table cell height = \(cell.bounds.height)")
}
else {
cell = tableView.dequeueReusableCell(withIdentifier: "lower")!
(cell as! TableViewCell).label.text = lowerData[indexPath.row]
print("Lower table cell height = \(cell.bounds.height)")
}
return cell
}
有人能提出两个表的最终行高不同的可能原因吗?
答案 0 :(得分:0)
在一个表中,该表的标题看起来像粉红色,您的约束将内容视图的底部边缘设置为与标签的底部匹配(因此,您正在移动内容的底部边缘标签底部的视图,使内容视图的高度取决于标签的高度。
在另一种情况下,您要设置内容视图的底部页边距以匹配标签的底部(因此,您正在移动页边距以对应于标签的底部,而不是底部的边缘 视图的strong>。