当用户点击注释时,如何动态调整我的mapView,因为它从顶部隐藏了我的标注视图

时间:2013-09-12 08:17:19

标签: ios mkmapview mapkit mkannotation mkannotationview

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{

    if ([view.annotation isKindOfClass:MKUserLocation.class]) {
        [mapView deselectAnnotation:view.annotation animated:YES];
    }
    else {

        [mapView deselectAnnotation:view.annotation animated:YES];
        view.image=[UIImage imageNamed:@"pin_location_purple@2x.png"];//annotation pin
        [self ToolTipView:view];//For adding the callout view 

 }
}

1 个答案:

答案 0 :(得分:1)

有一个开源项目SMCalloutView,它以类似于MapKit的方式解决了这个问题。看看他们设置的委托协议,它允许代表根据靠近屏幕边缘调整其内容偏移量:

https://github.com/nfarina/calloutview/blob/master/SMCalloutView.m#L303-L331

您可以采用类似的方法,但您必须从像素值进行一些MKMapPoint转换,以便类似地控制MKMapView偏移量。