我创建一个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的工作原理? 提前谢谢。
答案 0 :(得分:1)
未调用它的原因是因为您授予imageView
权限以捕获触摸。 imageView
现在将获得触摸事件,而不是将其转发。除非您计划创建处理触摸事件的自定义userInteractionEnabled
,否则无需将YES
设置为UIImageView
。
新的图像视图对象配置为忽略用户事件 默认。如果要处理自定义子类中的事件 UIImageView,你必须明确地改变它的值 初始化对象后,userInteractionEnabled属性为YES。