检测滚动视图上的触摸

时间:2010-10-04 14:55:38

标签: objective-c uiscrollview ios4

是否可以检测滚动视图中的触摸,该滚动视图中填充了一个按钮网格,如下图所示?

alt text

例如,在这张图片中,我只能通过拖动红色区域来拖动滚动视图,但我希望能够滚动滚动视图,无论它在哪里被触摸(如iPhone的主屏幕)? / p>

谢谢

2 个答案:

答案 0 :(得分:0)

是的,这绝对是可能的。具有讽刺意味的是,昨晚我不得不这样做。在我的情况下,我在UIView内嵌入UIScrollView,但我仍想检测点击并按下嵌入视图。为此,我在UIView上启用了用户互动,然后将UITapGestureRecognizerUILongPressGestureRecognizer附加到其中。它工作得很漂亮。 :)

答案 1 :(得分:0)

老问题,但看起来并没有真正回答。

您需要子类化UIScrollView并覆盖touchesShouldCancelInContentView:。如果返回YES,则滚动视图将滚动。 (有点令人困惑。我无法记住方法的名称是否取消滚动,或取消触摸其他UI组件。这意味着取消触摸其他UI组件。)

如果您希望按钮仍然有效,那么可能会更复杂。