触摸发生时阻止UIScrollView停止滚动

时间:2011-06-15 19:39:32

标签: objective-c ios uitableview uikit uiscrollview

这个问题有点奇怪,但这就是我的需要;)

通常,当UIScrollView滚动时,如果您触摸视图,它会立即停止,但这就是我想要更改的行为。

我已经将UITableView子类化并覆盖了touches *方法,但是在滚动表时没有触摸*事件被调用。正如我在Apple文档中所读到的,UIScrollView(它是UITableView的父类)不会转发这些事件。

我想要的是检测触摸(在普通情况下会停止滚动)但保持UIScrollView滚动。

所以,相反,停止滚动我想要一个将要调用的方法。

1 个答案:

答案 0 :(得分:7)

scrollViewDidEndDragging:willDecelerate:时,在表格视图上方添加一个透明视图,其中userInteractionEnabled会拦截触摸。然后在scrollViewDidEndDecelerating:上删除它以恢复与表视图的正常交互。在叠加层上连接触摸处理程序以获得回调。