Swift检查滚动表视图的方式[重复]

Posted

技术标签:

【中文标题】Swift检查滚动表视图的方式[重复]【英文标题】:Swift check what way table view is scrolled [duplicate] 【发布时间】:2015-08-06 13:58:40 【问题描述】:

是否有检查表格视图滚动方式的功能?上/下。

我有一个 uiView,我需要根据滚动方式隐藏它。

我在容器视图中也有我的表格视图。

谢谢

【问题讨论】:

UIScrollview 设置一个代表,或者如果这足够准确,您可以在每次需要呈现新单元格时在–tableView:cellForRowAtIndexPath: 中检查它(显然是因为滚动)——这取决于你真正需要的。 @holex 谢谢它有点工作。但是由于滚动视图具有反弹效果,如果我一直滚动到顶部或者如果我执行“拉动刷新”,它会来回触发两个函数“didScrollUp”和“didScrollDown”这导致我的视​​图切换在隐藏/显示几次之间。所以也许我要向滚动视图/表格视图添加滑动手势? @KiwoTew,如果您使用 UIScrollView 的代表,您可能需要检查当前偏移量是否超出内容的大小,这样您几乎可以检测到弹跳开始的时间,并且可以防止当前不需要的方法调用。 【参考方案1】:

使用UIScrollViewDelegate

func scrollViewDidScroll(_ scrollView: UIScrollView)

方法

【讨论】:

谢谢它有点工作。但是由于滚动视图具有反弹效果,如果我一直滚动到顶部或者如果我执行“拉动刷新”,它会来回触发两个函数“didScrollUp”和“didScrollDown”这导致我的视​​图切换在隐藏/显示几次之间。所以也许我要向滚动视图/表格视图添加滑动手势? 尽量忽略负面的contentOffsets @KiwoTew 如果我帮助了你,请接受答案。【参考方案2】:

UITableViewDelegate继承自UIScrollViewDelegate,所以可以实现这个方法

func scrollViewDidScroll(scrollView: UIScrollView) // any offset changes

【讨论】:

以上是关于Swift检查滚动表视图的方式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

表视图单元格在重新加载表视图和滚动时重复内容

如何在swift 4中将表格视图控制器前面的按钮带到? [重复]

表视图控制器中的状态栏重叠 - 是 Swift

Swift,将更多数据加载到表视图中会导致滚动滞后

在我将内容滚动出屏幕之前,单元格约束不会处于活动状态 - 自动维度表视图 - Swift 5

数组数据在 swift 4 的表视图中重复