如何在 UIScrollView 或等效中实现 touchesEnded

Posted

技术标签:

【中文标题】如何在 UIScrollView 或等效中实现 touchesEnded【英文标题】:How to implement touchesEnded in a UIScrollView or equivalent 【发布时间】:2015-04-19 03:02:54 【问题描述】:

我正在编写一个带有分页滚动视图的快速 ios 应用程序。我在底部有一个标签,我打算根据当前页面更新文本。我可以对当前页面代码进行排序,但是有人知道如何实现一种方法,以便在用户将手指从滚动视图上移开时触发。

据我所知,touchesEnded 不会触发,因为滚动视图占用了视图控制器的整个空间。所以从技术上讲,用户并没有接触到实际的视图控制器。

任何有用的教程或一般说明都会非常有用。

谢谢

【问题讨论】:

你在UIScrollViewDelegate中尝试过scrollViewDidEndDragging:吗? 【参考方案1】:

为您的滚动视图创建一个子类并在那里实现 touchesEnded。当你抬起手指时它会被调用(一定要调用 super 以便正常的触摸处理发生)。如果您想在用户触摸然后抬起而不滚动时收到通知,您只需要使用它。如果您只关心用户何时滚动,那么您可以使用 scrollViewDidEndDragging:willDecelerate: 和 scrollViewDidEndDecelerating。

【讨论】:

谢谢,这真的很有帮助

以上是关于如何在 UIScrollView 或等效中实现 touchesEnded的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIScrollView 中实现捏合以关闭功能?

如何在 UIScrollView 或 UIViewVontroller 的视图内绘制?

单线逻辑或短路评估的 AHK 等效项是啥?

如何在 JavaScript 中实现锁

iPhone - 知道UIScrollView是否达到顶部或底部

如何在 Scala 中实现 DAO?