如何在MapKit中使MKAnnotationView更敏感?

时间:2012-12-18 09:52:11

标签: ios mapkit mkannotation callouts

我的自定义MKAnnotationView显示大小为16 * 16的UIImageView,当用户点按它时,我使用协议

 - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
    [mapView setCenterCoordinate:view.annotation.coordinate];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [calloutView setHidden:!selected];
}

弹出自定义的calloutView。它可以正常工作。但有时可能需要两到三次甚至更多才能使注释敏感并调用方法来显示calloutView。是否有人遇到过这个问题,并且有一些解决方案可以解决它。

2 个答案:

答案 0 :(得分:2)

我已经解决了。 我们必须为自定义的MKAnnotationView图像提供图像,用户交互界限是图像的CGSize。所以我创建了一个透明图像并将其分配给MKAnnotationView的图像属性。

self.image=[UIImage imageNamed:@"transparent36.png"];

效果很好。

答案 1 :(得分:1)

您应该点击MKAnnotationView的中心,并尝试添加

imageView.center = annotationView.center;