我在我的项目中使用自动调整单元格的大小。我希望将单元格保持在最小的height
,但是我不能在内容视图中为我的单元格设置最小height
约束(因为它在添加新约束视图中是灰色的):
是否要为我的单元格添加最小的height
约束?
发布于 2018-02-18 15:03:11
当启用UITableViewAutomaticDimension
时,系统调用UITableViewCell
的systemLayoutSizeFittingSize:withHorizontalFittingPriority:verticalFittingPriority:方法来计算单元格高度,因此您可以以这种方式将UITableViewCell
子类并重写此方法以强制该单元格的最小高度。
class MinHeightTableViewCell: UITableViewCell {
var minHeight: CGFloat?
override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
let size = super.systemLayoutSizeFitting(targetSize, withHorizontalFittingPriority: horizontalFittingPriority, verticalFittingPriority: verticalFittingPriority)
guard let minHeight = minHeight else { return size }
return CGSize(width: size.width, height: max(size.height, minHeight))
}
}
然后
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "minHeightCell", for: indexPath) as! MinHeightTableViewCell
cell.minHeight = 62 // change with your desidered min height
cell.textLabel?.text = "some text"
return cell
}
发布于 2016-05-13 13:02:41
将高度约束设置为height >= 60.0
,不需要做任何事情
发布于 2020-10-05 16:57:12
我在我的单元格中添加了这个约束,但是在代码中添加了这个约束。
contentView.heightAnchor.constraint(equalToConstant: 80).isActive = true
如果您的单元格视图需要更多空间:
contentView.heightAnchor.constraint(greaterThanOrEqualToConstant: 80).isActive = true
https://stackoverflow.com/questions/36804302
复制相似问题