当前视图中单元格的快速高度

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 我拿到了牢房,但真的忘了使用路口。再次感谢!

以上是关于当前视图中单元格的快速高度的主要内容,如果未能解决你的问题,请参考以下文章

如何根据标签文本快速更改表格视图单元格高度?

当单元格的高度不同时,如何在表格视图中获取所有单元格的高度?

如何在表格视图中更改一个单元格的高度? [复制]

如何动态更改自定义单元格的表格视图单元格的高度?

如何在swift ios中调整集合视图单元格的高度?

设置表格视图单元格的动态高度