这是场景:
我有一个 scrollView 作为添加了 UIPanGestureRecognizer 的视图的子视图。平移手势仅适用于一个方向,比如说从左到右。
我想要实现的是:如果 scrollView.contentOffset.x == 0 并且用户从左到右平移我希望 PanGesture 工作,否则我想让 scrollView 像往常一样工作。
我试过了
- 在滚动视图的超级视图上实现
hitTest:withEvent:
,我可以在其中检查 contentOffset,但没有关于手势方向的数据。 - 在滚动视图中实现
touchesShouldBegin:withEvent:inContentView:
,但同样没有关于方向的数据。
问题似乎是时刻,如果我想在视图处理手势事件后进行这种检查,则没有机会取消它并将事件重新发送到另一个视图。
有解决方法吗?提前致谢!