我正在iPhone上开发一个简单的游戏,我从一个基于View的应用程序开始,在
我创建了第二个项目进行测试,并发现当层次结构如下时,
注释: - 在所有情况下,
你能想到任何原因吗?为什么当自定义
UIViewController
中加载了一个包含一些更多UIView
和一些UIImageView
的自定义UIView
。 我想在一些UIImageView
上检测触摸事件,但是迄今为止我还没有成功。我创建了第二个项目进行测试,并发现当层次结构如下时,
UIImageView
会处理触摸事件:
但是当它像这样:
UIViewController
->UIView
->UIImageView
,
它们就不能被检测到。
UIViewController
->UIView
->UIView
->UIImageView
注释: - 在所有情况下,
userInteractionEnabled
都是YES
- 我提到的所有UIViews
和UIImageViews
都是自定义子类。你能想到任何原因吗?为什么当自定义
UIImageView
越深入视图层次结构时无法接收触摸事件?
initWithFrame
初始化UIImageView。正是您的第二个提示让我怀疑这是问题所在:“视图默认显示超出其框架大小,因此它们可能看起来很好,但在逻辑上比视觉上小 - 触摸基于逻辑(而不是视觉)大小响应。” - jester