【问题标题】: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 到其定义的高度。
  • 检查我的答案

标签: ios uitableview swift3


【解决方案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
  • 我拿到了牢房,但真的忘了使用路口。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 2020-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多