在我的应用中,当用户触及view
时,我在那里显示UIImageView
并且我拖动
将图像从另一个UIImageView
放到触及的UIImageView
。
但问题是,只有最近触及的UIImageView
被激活。我的意思是,当我
单击3次,然后显示3 UIImageViews
,但只激活最后一个并接受另一个
图像。
如何让所有被触及的UIImageViews
被激活..对此有任何身体帮助..
提前致谢。
答案 0 :(得分:1)
您应该阅读responder chain and event handling上的Apples文档。这里的关键UIView方法是
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
此方法通过发送遍历视图层次结构 pointInside:withEvent:消息到每个子视图以确定哪个 子视图应该会收到触摸事件。如果pointInside:withEvent: 返回YES,然后遍历子视图的层次结构;否则,它 视图层次结构的分支被忽略。你很少需要打电话 方法你自己,但你可以覆盖它来隐藏触摸事件 子视图。
答案 1 :(得分:0)
你应该试试这个: 哪里有你的UIView(或视图):
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapped:)];
tapGesture.numberOfTapsRequired = 1;//number of tap
[view addGestureRecognizer:tapGesture];
选择器:
-(void)tapped:(UITapGestureRecognizer *)sender {
NSLog(@"Pressed");
}