【发布时间】:2012-01-03 20:17:38
【问题描述】:
我有一个启用了分页的UIScrollView,并且我已经向其中添加了我自己的UIPanGestureRegonizer。在某些情况下,我的视图控制器将设置scrollview.scrollEnabled = NO,然后将平移手势识别器添加到其中(我没有使用滚动视图自己的识别器)。
因此,滚动已禁用,但我正在等待来自我的手势识别器的用户触摸。当它识别出来时,它会调用我重新启用滚动的操作。
问题是,当用户的手指仍然向下时,我的滚动视图没有用手指跟踪。在抬起手指然后再次拖动之前,它不会开始滚动。所以我的手势识别器正在吞下所有的触摸,而不是将任何触摸转发到滚动视图。
我尝试切换panGestureRecognizer.cancelsTouchesInView = NO;,但它似乎没有任何效果(我目前正在删除此识别器,一旦我重新启用滚动但我是否这样做并不能解决我的问题)。我还查看了 UIGestureRecognizer 的 delays... 属性,但它们似乎也没有帮助。
有什么想法吗?如何让这些事件继续转发到我的滚动视图?
【问题讨论】:
-
您是否尝试在
gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:方法中返回YES? -
@Hejazi 是的,我也实现了那个委托方法(并设置了我的委托),但是当手指仍然向下时它不会被调用(只有当我抬起并再次放下手指时这个委托方法是否被调用)。
标签: objective-c ios uiscrollview uipangesturerecognizer