禁用MKmapkit mapView userLocation annotationView

时间:2012-10-08 22:47:59

标签: objective-c ios mapkit userlocation

我有mapView annotationViewsuserLocation蓝点。

我使用以下代码获取蓝点:

[self.mapView setShowsUserLocation:YES];

annotationViews可以选择并有标注。

然而,如果annotationView靠近用户的位置,有时蓝点会触碰。

我可以设置一个annotationView.enabled = NO;,它会显示annotationView,但它不会在annotationView附近触摸。

我想将用户位置蓝点annotationView设置为启用=否,因此它不会触及annotationViews附近的触摸。

我可以用以下方式设置蓝点的标题:

self.mapView.userLocation.title = @"title here..."

但我无法禁用蓝点。

谢谢!

1 个答案:

答案 0 :(得分:8)

您可以在enabled委托方法中获取对MKAnnotationView的引用,从而在用户位置的didAddAnnotationViews上设置-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views { MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation]; ulv.enabled = NO; } :这样您就可以确保该视图已准备好了:

enabled

userLocation 模型对象上没有{{1}}属性 - 它是视图的属性。)