我在 Xcode 中为 iPhone 项目使用了“基于 View 的应用程序”模板,并进入了 View Controller 的 XIB。
我将 View 从基本的 UIView
更改为 UIScrollView
,现在是方法
(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
永远不会被叫到。我在那里有一个 NSLog 语句。当 Controller 的 View 是 UIView 时,它会被很好地调用,那么 UIScrollView 有什么不同/特殊之处,您不会收到触摸事件呢?如何响应触摸事件?
最佳答案
UIScrollView 不会传递所有触摸事件。它这样做是因为它尝试自行解释滑动和滚动手势。
看看这个帖子:http://discussions.apple.com/thread.jspa?messageID=7519817了解 UIScrollView 和事件。最重要的是,您可以在 View 的 -(void)touchesEnded:(NSSet *)aTouches withEvent:(UIEvent *)anEvent
中处理事件,但这并不简单。
我个人发现 UIScollView 对 HitTest subview 的影响有些奇怪。
关于iphone - UIScrollView 触摸似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/595756/