在 tableView (Swift) 中添加填充函数
Posted
技术标签:
【中文标题】在 tableView (Swift) 中添加填充函数【英文标题】:Add a padding function in a tableView (Swift) 【发布时间】:2017-11-13 09:37:29 【问题描述】:我想调整这个功能(最初是为collectionView
创建的)
let place = places[indexPath.row]
let annotationPadding = CGFloat(5)
let font = UIFont.systemFont(ofSize: 15)
let commentHeight = place.heightForComment(font, width: width)
let height = annotationPadding + commentHeight + annotationPadding
return height
所以我可以将它添加到我的tableView
中的func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
,我该怎么做? (我的问题是CGFloat
不接受width
)
【问题讨论】:
将宽度创建为局部变量,例如 var width: CGFloat = 0 并在您有宽度时设置它。 【参考方案1】:假设集合视图的heightForComment
采用集合视图单元格的宽度,您可以传入表格视图的宽度,因为表格视图单元格与其包含的表格视图一样宽:
let commentHeight = place.heightForComment(font, width: tableView.bounds.size.width)
如果表格视图中的注释有额外的前导或尾随边距,您可以从表格视图宽度中减去:
let commentHeight = place.heightForComment(font, width: tableView.bounds.size.width - (20 * 2)) // 20 points margin on left and right
【讨论】:
以上是关于在 tableView (Swift) 中添加填充函数的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中使用远程 JSON 数据填充 tableView
在swift中使用tableView自动填充代理方法的最佳方法?