:)我正在进行拦截,并重新发送发送到滚动视图的手势。
我想做什么:
杀死scrollview中的所有gestureRecognizers。我已经完成了这个。
在scrollview中添加新的gestureRecognizers。我也完成了这个。
使新识别器的行为与旧识别器相同。我没有完成这个,我需要帮助。
我添加的唯一新识别器是平移手势识别器,需要至少两个手指。我希望它的行为与单指滚动完全相同。 :)
在响应新识别器生成的回调以完成此操作时,我必须发送什么样的调用?
答案 0 :(得分:4)
我认为你通过尝试实现自己的自定义手势识别器来过度复杂化。
UIPanGestureRecognizer类有一个minimumNumberOfTouches属性,您应该可以为UIScrollView设置为2。
这样做只需抓住你的观点手势识别器......
myScrollView.gestureRecognizers;
迭代数组以找到平移手势......
if ([gestureRecogniser isKindOfClass:[UIPanGestureRecognizer class]])
将您的gestureRecogniser指针投射到更具体的类型...
UIPanGestureRecognizer *panGestureRecogniser = (UIPanGestureRecognizer *)gestureRecogniser;
最后设置了minimumNumberOfTouches属性......
panGestureRecogniser.minimumNumberOfTouches = 2;
您可能需要做的唯一其他事情是为您的视图启用多点触控 - UIView具有应设置为true的multipleTouchEnabled属性。
答案 1 :(得分:0)
在Swift中,你可以写
myScrollView.panGestureRecognizer.minimumNumberOfTouches = 2