我有一个带有annotationViews的mapView和userLocation蓝点.
我使用以下代码获取蓝点:
[self.mapView setShowsUserLocation:YES];
annotationViews是可选择的并具有标注.
但是,如果annotationView靠近用户的位置,有时蓝点会窃取触摸.
我可以设置annotationView.enabled = NO;并且它将显示annotationView但它不会通过annotationView从关闭中窃取触摸.
我想将用户位置蓝点annotationView设置为enabled = NO,因此它不会通过annotationViews窃取关闭的触摸.
我可以设置蓝点的标题:
self.mapView.userLocation.title = @"title here..."
但我无法禁用蓝点.
谢谢!
解决方法
您可以通过在didAddAnnotationViews委托方法中获取对它的引用来设置用户位置的MKAnnotationView上的启用(这样您就可以确保视图已准备好):
-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views { MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation]; ulv.enabled = NO; }
(userLocation模型对象上没有启用的属性 – 它是视图的属性.)