客观C触摸事件问题

时间:2010-10-28 14:08:49

标签: iphone objective-c iphone-sdk-3.0 ios4

我在UIScrollView中有4个UIViews。假设它是一个类似于iphone股票应用程序的图表。当我在图表上移动手指时,我需要绘制一条垂直线。我可以使用touchesMoved。

但我还需要水平滚动我的视图。问题是当我在图表上移动手指时,UIScrollView会水平滚动。

我如何避免这种情况并将这两种事件识别为不同的事件?

2 个答案:

答案 0 :(得分:1)

UIScrollView仅在一小段延迟后转发到子视图的触摸。如果触摸移动直到此延迟触发,UIScrollView会将触摸解释为contentOffset的移动。要触摸您的子视图,请尝试按住它一秒钟,然后开始移动。

您可以将scrollView上的delaysContentTouches设置为NO,然后立即转发触摸。

答案 1 :(得分:0)

我在这里找到了解决方案。

在touchesBegan方法中,我需要禁用UIScrollView的滚动。然后在touchesEnded中我需要再次启用滚动。