2014-11-21 65 views
0

我有一个UITableView,我不希望它在两个单元格之间停止滚动后停止。因此,当UITableView的速度小于给定值时,我需要移动距屏幕Y中心最近的单元格。当滚动完成时,中心单元格UITableView

我确定我不是第一个想要这种效果的人,但是我没有在我的研究中找到任何东西。必须有一个我不知道的词。有人有链接或其他?

我试图自己做,但我没有找到如何获得细胞。我用tableView.indexPathsForVisibleRows(),所以我有一个indexPaths数组,但现在我不知道如何调用相应的单元格。有cellForRowAtIndexPath,但这种方法创建一个新的单元格,不是吗?

回答

2

您需要在您的表格视图代表中执行-scrollViewWillEndDragging:withVelocity:targetContentOffset:,就像在this other question here中一样。

基本上,此方法允许您调整速度滚动停止的位置。

如果不知道表格视图的结构(可变高度的单元格?),我无法帮助您更多地了解代码。

+0

我想表视图拖动结束后减速,然后移动到最近的细胞,当速度小于给定值,是有可能有那个功能?这个函数不会只管理拖动结束之前发生的事情吗? – Coconuts 2014-11-21 15:55:23

+0

该方法允许调整滚动停止的位置。它提供了更自然的滚动,因为在开始滚动之前,表格视图已经知道停止的位置。没有必要调整速度,这会导致视觉速度的增加或减少。 – Cyrille 2014-11-21 15:56:53

+0

我的表格视图具有相同高度的单元格。但是我希望细胞在“居中”时更大。总之,我想要一个表格视图,就像在iPad的“Storehouse”应用程序中一样。 – Coconuts 2014-11-21 15:59:09

0

尝试添加以下内容到viewDidLoad中:

self.tableView.bounces = false 
+0

这没有帮助。 – Cyrille 2014-11-21 15:43:49

相关问题