我正在拦截并重新发送发送到 ScrollView 的手势。
我想做什么:
杀死 ScrollView 中的所有手势识别器。我已经做到了。
在 ScrollView 中添加新的手势识别器。我也做到了。
使新识别器的行为与旧识别器相同。我还没有做到这一点,我需要帮助。
我添加的唯一新识别器是平移手势识别器,它至少需要两个手指。我希望它的行为与单指滚动完全相同。
在响应新识别器生成的回调来完成此操作时,我必须发送什么样的调用?
Best Answer-推荐答案 strong>
我认为您尝试实现自己的自定义手势识别器使这变得过于复杂。
UIPanGestureRecognizer 类有一个 minimumNumberOfTouches 属性,您应该能够为您的 UIScrollView 设置为 2。
要做到这一点,只需捕获你的观点手势识别器......
myScrollView.gestureRecognizers;
遍历数组以找到平移手势...
if ([gestureRecogniser isKindOfClass:[UIPanGestureRecognizer class]])
将您的手势识别器指针转换到更具体的类型...
UIPanGestureRecognizer *panGestureRecogniser = (UIPanGestureRecognizer *)gestureRecogniser;
最后设置它的 minimumNumberOfTouches 属性...
panGestureRecogniser.minimumNumberOfTouches = 2;
您可能需要做的另一件事是为您的 View 启用多点触控 - UIView 有一个 multipleTouchEnabled 属性,应该设置为 true。
关于iphone - 在 ScrollView 中模拟拖动,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/5125283/
|