我最初使用UITouch
方法(touchesMoved: withEvent:
)来检测视图中的移动。由于它似乎没有经常更新,我转而使用UIPanGestureRecognizer
(虽然这实际上并没有解决最初的问题)。
使用此功能后,无论接触到的是什么(不同的子视图),我都会对接受的动作进行响应。但是现在我对所有具有移动功能的子视图都有一个问题。我需要手势识别器在触摸子视图时仍然移动视图,但是如果子视图也朝这个方向移动(左/右),我需要识别器取消。
好像gestureRecognizerShouldBegin:
似乎可以在某个地方开始,但就我而言,我无法解释所有子视图。
如果触摸的子视图(即另一个平移识别器,UISlider
,水平滚动视图等)需要在左/右方向上移动而不必考虑每个子视图,是否可以取消平移手势识别器单独?