我在 UIScrollView 中有一系列 UIView,这些视图的 UIViewController 没有接收到触摸事件。如果我将视图从滚动视图中取出,那么它就可以工作。
我已经在视图上启用了 userInteraction,但它仍然无法正常工作!
这一定是可能的,如果有人能指出我正确的方向,我将不胜感激!
谢谢,
麦克风
我在 UIScrollView 中有一系列 UIView,这些视图的 UIViewController 没有接收到触摸事件。如果我将视图从滚动视图中取出,那么它就可以工作。
我已经在视图上启用了 userInteraction,但它仍然无法正常工作!
这一定是可能的,如果有人能指出我正确的方向,我将不胜感激!
谢谢,
麦克风
视图是否有自己的触摸处理程序,或者您是否依赖视图控制器来获取触摸?根据您的设置方式,视图可能正在处理触摸而不传递到视图控制器。
我通过覆盖视图控制器的 loadView 方法,并将视图的实例变量设置为传递触摸的简单 UIView 子类,克服了这个问题。
检查您在滚动视图委托方法视图中返回的内容,以便在滚动视图中滚动。
正如 mahboudz 提到的 - 检查您是否有任何用于触摸事件的自定义处理程序。如果没有,请来一份。用你的观点做任何你想做的事情会更轻松。从 scrollViewSuite 查看 Apple 示例应用程序。他们有 tapDetectingImageView 委托。我在我的应用程序中使用了相同的方法,效果很好!希望这可以帮助!
您可能会发现这篇文章很有用。这是一个非常干净的拦截事件方式的例子。
为您想要接收触摸事件的视图设置触摸处理程序,这将起作用。