如何响应 UIScrollView 中的 touchupinside 事件?

how to response to touchupinside event in a UIScrollView?

我在整个视图的中心有一个 UIScrollView,它分为三个部分并水平滚动。

用户可以自由滚动视图,当手指向上时,我想根据 UIScrollView 的 contentoffset 设置显示的三个部分之一。

如何检测 UIScrollView 中的 touchupinside 事件?我尝试添加 UITapGestureRecognizer 并覆盖 touchesEnded 但它不起作用。

使用 - scrollViewDidEndDecelerating: 怎么样?

请记住,仅仅因为用户拿起手指并不意味着滚动视图已停止更改其内容偏移量。通过使用 - scrollViewDidEndDecelerating: 委托方法,您将在滚动视图停止时收到通知,此时您可以检查 contentOffset 并执行您需要的操作。

- scrollViewDidScroll: 与您想要的不匹配,因为即使用户的手指仍处于按下状态,它也会被调用。如果这对您很重要,请使用我上面提到的 - scrollViewDidEndDecelerating:。如果您想知道手指何时抬起,而不关心滚动视图是否仍在传输中,那么您可以使用 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate.