我在UIScrollView中有4个UIViews。假设它是一个类似于iphone股票应用程序的图表。当我在图表上移动手指时,我需要绘制一条垂直线。我可以使用touchesMoved。
但我还需要水平滚动我的视图。问题是当我在图表上移动手指时,UIScrollView会水平滚动。
我如何避免这种情况并将这两种事件识别为不同的事件?
答案 0 :(得分:1)
UIScrollView仅在一小段延迟后转发到子视图的触摸。如果触摸移动直到此延迟触发,UIScrollView会将触摸解释为contentOffset的移动。要触摸您的子视图,请尝试按住它一秒钟,然后开始移动。
您可以将scrollView上的delaysContentTouches设置为NO,然后立即转发触摸。
答案 1 :(得分:0)
我在这里找到了解决方案。
在touchesBegan方法中,我需要禁用UIScrollView的滚动。然后在touchesEnded中我需要再次启用滚动。