我在iPhone项目中使用了Xcode中的“基于视图的应用程序”模板,并进入了视图控制器的XIB。
我将视图从基本的UIView更改为UIScrollView,现在方法
(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
从来不会被召唤。我里面有一条NSLog语句。当控制器的视图是一个UIView时,它会被调用得很好,那么UIScrollView有什么不同/特殊之处是你不会收到触摸事件呢?如何响应触摸事件?
发布于 2009-02-28 21:38:06
UIScrollView不会传递所有的触摸事件。它这样做是因为它试图自己解释滑动和滚动手势。
看看这个帖子:http://discussions.apple.com/thread.jspa?messageID=7519817来了解UIScrollView和事件。底线是您可以在视图的-(void)touchesEnded:(NSSet *)aTouches withEvent:(UIEvent *)anEvent中处理事件,但它不是直接的。
我亲眼看到了UIScollView对点击测试子视图的影响。
发布于 2009-02-28 00:25:27
我在这里没有任何直接的经验,但我昨天查看了可能解释这一点的文档。我想你会发现UIScrollView捕捉触点是为了处理它的滚动。在文档窗口中查看delaysContentTouches。
发布于 2009-04-26 13:53:13
只需使用自定义内容子视图,然后在该视图中实现touchesEnded:withEvent:。你会得到所有你想要的自来水!
https://stackoverflow.com/questions/595756
复制相似问题