IOS 5:UIScrollView不传递给nextResponder

我有一个UIScrollView的子类,并覆盖它的所有4 Touchesfunction。 在这些Touches函数中, [[self nextResponder] Touches...][super Touches...]用于传递触摸事件。

另外我有一个视图控制器,我也覆盖了所有4触摸function。 在Controller中,我将self.view设置为: self.view = subclass of UIScrollview;

在iOS 5之前,当触摸移动到滚动视图时,视图控制器的触摸function可以接收所有的触摸开始/移动/结束/取消调用。 但在iOS 5中,他们不能,只有一个touchesBegan和一个touchesMove接收。

从代码的日志中,总是调用UIScrollView的子类中的触摸函数。

此外,如果我设置subclass.enableUserInteraction=NO ,视图控制器中的触摸function将被调用。 但是我需要scrollview与用户交互,所以我不能把它设置为no。

在iOS 5中有什么不同吗? 先谢谢你。

有一个非常简单的工作:)

代替:

 [self.nextResponder touchesMoved:touches withEvent:event]; 

使用:

 [[self.nextResponder nextResponder] touchesMoved:touches withEvent:event]; 

也适用于touchesBegan&touchesEnded。

而已! 问题消失了! 现在触摸事件传递给下一个响应者:)

看起来像一个iOS 5的错误。 看到这个SOpost:

touchesMoved不在iOS5为UIScrollView的iPhone发射

“正如前面提到的,我跟苹果公司logging了一个缺陷,他们终于找回我了,我引用:”经过进一步的调查,已经确定这是一个已知的问题,目前正在进行工程调查。“ 他们给了原来的错误ID#10213937。 他们感谢提交错误,但不提供任何解决方法。“

仍然不知道如何解决iOS 5不幸的。