如何识别ImageView中不同位置的不同操作?

时间:2014-08-22 06:57:51

标签: ios objective-c imageview

我有一个地图Image有一些状态,现在的情况是,如果我将点击任何特定状态它将显示该状态名称作为弹出视图。

我的问题是当我在地图图像中点击不同的状态位置时如何识别不同的动作。

2 个答案:

答案 0 :(得分:1)

放置一个UIButton,其状态名称覆盖在地图的顶部。

当用户点击州名时,您将知道他们点击了哪个州。

或者你不想在地图上显示州名?

您可以将状态分解为单独的PNG图像,并小心地放置它们以使地图看起来无缝。将图像分配给UIButtons。

同样的想法。

答案 1 :(得分:0)

试试这个:

在图片视图中添加点击手势识别器。

UITapGestureRecognizer * tapOnMap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showStatePopUp:)]; 
tapOnMap.delegate = self;
[yourMapImageView addGestureRecognizer:tapOnMap];

并在showStatePopUp:

方法中
-(void) showStatePopUp:(UITapGestureRecognizer *)sender
{
    UITapGestureRecognizer *tap = (UITapGestureRecognizer *)sender;
    CGPoint point = [tap locationInView: yourMapImageView];
    NSLog(@"tapped location x:%f, y:%f",point.x,point.y);
}

现在,您有位置点。接下来,根据这些要点处理不同的操作。