2

我在 Xcode 中为一个 iPhone 项目使用了“基于视图的应用程序”模板,并进入了视图控制器的 XIB。

我将视图从 basic 更改UIView为 a UIScrollView,现在是方法

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

永远不会被调用。我NSLog在里面有一个声明。当控制器的视图是 a 时,它会被很好地调用UIView,那么 s 有什么不同/特别之处UIScrollView在于您没有收到触摸事件?如何响应触摸事件?

4

3 回答 3

3

UIScrollView 不会传递所有触摸事件。它这样做是因为它试图自己解释滑动和滚动手势。

看看这个线程:http ://discussions.apple.com/thread.jspa?messageID= 7519817 了解 UIScrollView 和事件。底线是您可以处理视图中的事件,-(void)touchesEnded:(NSSet *)aTouches withEvent:(UIEvent *)anEvent但这不是直截了当的。

我个人在 UIScollView 对命中测试子视图的影响中看到了一些时髦。

于 2009-02-28T21:38:05.783 回答
0

我在这里没有任何直接经验,但我昨天正在查看可能解释这一点的文档。我想你会发现UIScrollView为了处理它的滚动而捕获触摸。delaysContentTouches在文档窗口中查看。

于 2009-02-28T00:25:26.950 回答
0

只需使用自定义内容子视图,然后在该视图中实现 touchesEnded:withEvent:。你会得到所有你想要的水龙头!

于 2009-04-26T13:53:13.070 回答