如何确定用户是否滚过第一个单元格?

时间:2016-02-11 22:27:31

标签: ios swift uitableview

在iOS上,当您将某些内容添加到UITableView的数据源的开头时,该单元格将会在"中生成动画。仅当用户已经滚动到顶部时才按下其余的单元格。当用户在列表中向下滚动并且新项目被附加到顶部时,iOS不会自动向下移动单元格。

当从顶部进入新单元格时,如何确定两者之间?

我的用例是当用户向下滚过iOS点时,我可以在"上面显示一个"新项目。用户单击的按钮。 (类似于Twitter)

我对单元格使用动态高度,因此按像素对scrollView进行硬编码并不是最理想的方法。我想利用iOS的方式来确定它。

2 个答案:

答案 0 :(得分:0)

有一个可用的所有可见细胞阵列'名为indexPathsForVisibleRows的索引路径。您可以访问该属性并检查您的第一行是否是其中之一,然后从那里开始。您还可以访问visibleCells属性以获取实际的UITableViewCells。

答案 1 :(得分:0)

如何确定用户是否滚过第一个单元格:UITableView是UIScrollView的子类,因此您只需查看contentOffset属性。

我不确定这是否足以完成你想要的东西。你也可以利用tableView的cellForRowAtIndexPath:方法只返回一个单元格,如果它可见,并请求第一个单元格。我之前从未尝试过这样的实现,所以可能有更好的方法。