解决方法
当启用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 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。