【问题标题】:How to set UITableView to snap to closest cell?如何设置 UITableView 捕捉到最近的单元格?
【发布时间】:2014-06-20 21:15:35
【问题描述】:

所以我想在我的应用程序中实现的是有一个 UITableView,当用户滚动时,它会捕捉到最近的单元格。因此,如果我有 3 个单元格,并且用户滚动,如果用户最接近第二个单元格的顶部,则将 UITableView 捕捉到那里。

希望我已经传达了我想要实现的功能。我做了一些基础研究,找到了这个方法,scrollViewWillEndDragging:withVelocity:targetContentOffset:,但是我对这个方法和它的工作原理并不熟悉。

有什么帮助吗?

【问题讨论】:

标签: ios objective-c uitableview uiscrollview


【解决方案1】:

如果您的单元格都是固定高度,只需查看targetContentOffset.y,然后将其四舍五入到您最近的单元格高度:

targetContentOffset->y = floorf(targetContentOffset->y / self.rowHeight) * self.rowHeight

【讨论】:

  • 所以只要实现 scrollViewWillEndDragging:withVelocity:targetContentOffset: 那一行就可以了?
  • 不确定你的代码的其余部分是否已布置好,但如果没有什么奇怪的事情发生,就是这样。
  • 如果他们都是不同的高度呢?
猜你喜欢
  • 2013-04-11
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多