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”这导致我的视图切换在隐藏/显示几次之间。所以也许我要向滚动视图/表格视图添加滑动手势? 尽量忽略负面的contentOffset
s
@KiwoTew 如果我帮助了你,请接受答案。【参考方案2】:
UITableViewDelegate继承自UIScrollViewDelegate,所以可以实现这个方法
func scrollViewDidScroll(scrollView: UIScrollView) // any offset changes
【讨论】:
以上是关于Swift检查滚动表视图的方式[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在swift 4中将表格视图控制器前面的按钮带到? [重复]