我想在我的视图中显示图像并添加点击手势来做一些事情。 我的代码对于图像创建看起来像这样
for(int i = 0; i < 5; i++) {
UIImageView *imageToMove =
[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon1.png"]];
imageToMove.frame = CGRectMake(((float)rand() / RAND_MAX) * 1024, ((float)rand() / RAND_MAX) * 768 , 95, 95);
[imageToMove setUserInteractionEnabled:YES];
[imageToMove addGestureRecognizer:singleTap];
[self.view addSubview:imageToMove];
}
这个简单的功能可以在点击图像时获得一些反馈
- (void)tapDetected {
NSLog(@"single Tap on imageview");
}
我的问题是,只有一个(恕我直言,最后一个添加)图像是可触摸的。其他图像“后面”无法访问。
有可能解决这个问题吗?
答案 0 :(得分:0)
点击堆叠图像时,您想要做什么并不完全清楚(我的意思是,您触摸的图像可以自然移动,这应该由您的代码完成);无论如何,请尝试:
singleTap.cancelsTouchesInView = NO;
这将使您的手势识别器不会取消他们处理的点击,因此保持视图也将接收事件。如果这没有帮助,请查看UIGestureRecognizerDelegate
protocol,特别是方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer
应该允许精确控制手势识别器的共存方式。