我有一个子类UIScrollView
,并覆盖其所有 4 Touches 功能。在那些 Touches 函数中,[[self nextResponder] Touches...]
and [super Touches...]
用于传递触摸事件。
我还有一个视图控制器,在其中我也覆盖了所有 4 Touches 功能。在控制器中,我设置了self.view
as: self.view = subclass of UIScrollview;
在iOS 5之前,当滚动视图上有触摸移动时,视图控制器的触摸函数可以接收所有触摸开始/移动/结束/取消调用。但在 iOS 5 中,他们不能,只有一个touchesBegan
和一个touchesMove
已收到。
从代码日志来看,touch函数在UIScrollView
的子类总是被调用。
另外,如果我设置subclass.enableUserInteraction=NO
,视图控制器中的touches函数就会被很好的调用。但我需要滚动视图与用户交互,所以我不能将其设置为否。
iOS 5 有什么我错过的不同之处吗?先感谢您。
有一个非常简单的解决方法:)
代替:
[self.nextResponder touchesMoved:touches withEvent:event];
Use:
[[self.nextResponder nextResponder] touchesMoved:touches withEvent:event];
也适用于touchesBegan 和touchesEnded。
就是这样!问题消失了!现在触摸事件被传递给下一个响应者:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)