didAddAnnotationViews不适用于MKMapView

Ben*_*Btg 6 objective-c mkmapview mkannotation ios

我一直在玩MKMapView,试着了解MKMapViewDelegate系统的工作原理.到目前为止,我没有运气在添加当前位置标记时调用didAddAnnotationViews.

我已经设置了我的app委托来实现MKMapViewDelegate,我在我的xib中有一个Outlet到MapView并且已经将MapView的delegate属性设置为self,就像在app delegate实例中一样.我已经在app委托中实现了didAddAnnotationViews,我只是NSLog对它的任何调用,如下所示.地图设置为显示它所执行的当前位置,并在启动时添加蓝色图钉注释,但由于某种原因,未添加了addAddAnnotationViews.

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views{
    NSLog(@"Annotation added!");
}
Run Code Online (Sandbox Code Playgroud)

我可能错过了什么想法?

小智 5

我在BNR遇到了同样的问题.以下是我最终使用的内容:

    // Tell MKMapView to zoom to current location when found
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
    NSLog(@"didUpdateUserLocation just got called!");

    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([userLocation coordinate], 250, 250);
    [mapView setRegion:region animated:YES];
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ams 3

mapView:didAddAnnotations:仅在响应addAnnotation:或 时被调用addAnnotations:。用户位置图钉不会触发此委托方法。