userInteractionEnabled UIImageView工作奇怪

时间:2011-11-10 15:22:01

标签: iphone

我创建一个UIImageView,如下所示

imageView = [[UIImageView alloc] init];

imageView.image = [UIImage imageNamed:@"military_male_target_001.png"];

imageView.frame = CGRectMake(0, 0, 10, 10);

imageView.alpha = 0.5;

我有

   - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {...}

在我的视图控制器中。

到目前为止,图像显示在屏幕上并正确响应了触摸事件,这意味着当我在图像内部点击时会调用touchesEnded方法。

但如果我添加

imageView.userInteractionEnabled = YES

然后当我在图像内部单击时,不会调用touchesEnded方法。 但是当我在图像外面点击时它仍会被调用。

谁能告诉我userInteractionEnabled的工作原理? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

未调用它的原因是因为您授予imageView权限以捕获触摸。 imageView现在将获得触摸事件,而不是将其转发。除非您计划创建处理触摸事件的自定义userInteractionEnabled,否则无需将YES设置为UIImageView

Documentation

  

新的图像视图对象配置为忽略用户事件   默认。如果要处理自定义子类中的事件   UIImageView,你必须明确地改变它的值   初始化对象后,userInteractionEnabled属性为YES。