OGeek|极客世界-中国程序员成长平台

标题: iphone - 在 ScrollView 中模拟拖动 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:59
标题: iphone - 在 ScrollView 中模拟拖动

我正在拦截并重新发送发送到 ScrollView 的手势。

我想做什么:

杀死 ScrollView 中的所有手势识别器。我已经做到了。

在 ScrollView 中添加新的手势识别器。我也做到了。

使新识别器的行为与旧识别器相同。我还没有做到这一点,我需要帮助。

我添加的唯一新识别器是平移手势识别器,它至少需要两个手指。我希望它的行为与单指滚动完全相同。

在响应新识别器生成的回调来完成此操作时,我必须发送什么样的调用?



Best Answer-推荐答案


我认为您尝试实现自己的自定义手势识别器使这变得过于复杂。

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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4