当前视图中单元格的快速高度
Posted
技术标签:
【中文标题】当前视图中单元格的快速高度【英文标题】:swift height of the cell in the current View 【发布时间】:2017-08-30 21:05:38 【问题描述】:我在表格视图中有几个单元格。现在在任何给定时间点,我都想计算视图中单元格的当前高度,即如果它是视图的 3/4,它应该返回 (cellheight)*3/4 高度。
我通过以下方式计算了当前视图:
let visibleRect = CGRect(origin: tableView.contentOffset, size: tableView.bounds.size)
现在,当我停止滚动时,我想找到特定索引路径的单元格的当前高度,这是我在这里计算的。
let visiblePoint = CGPoint(x: visibleRect.midX, y: visibleRect.midY)
let visibleIndexPath = tableView.indexPathForRow(at: visiblePoint)!
我希望我很清楚。感谢您的帮助。
干杯!
【问题讨论】:
您的问题是什么?,有什么可以帮助您的吗? 我需要视图中单元格的高度。我的意思是,如果单元格的实际高度是 500 并且它在一半以上,那么我想得到那个高度。基本上,我想检查视图中单元格相对于当前偏移量的高度。 您需要在 tableView 的可见部分中间的单元格高度是您需要的吗? 不完全是中间。对于视图中的任何给定 indexPath,我需要该单元格可见部分的高度。它可以是任何东西,范围从 0 到其定义的高度。 检查我的答案 【参考方案1】:要在获得所需的 indexPath 后轻松获得 UITableViewCell
,您需要调用此方法 self.tableView.cellForRow(at: indexpath)
之后,您可以访问单元格的框架,并与您之前计算的 visibleRect
相交,您必须有你需要的
if let cell = self.tableView.cellForRow(at: indexpath) as? UITableViewCell
let intersection = cell.frame.intersection(visibleRect)
debugPrint(intersection.size.height)
【讨论】:
该死!这只是跳过了我的想法。这正是我一直在寻找的。非常感谢您快速及时的回复。干杯! 很高兴为您提供帮助!祝您编码愉快@AakashDave 我拿到了牢房,但真的忘了使用路口。再次感谢!以上是关于当前视图中单元格的快速高度的主要内容,如果未能解决你的问题,请参考以下文章