objective-c – 禁用MKmapkit mapView userLocation annotationView

前端之家收集整理的这篇文章主要介绍了objective-c – 禁用MKmapkit mapView userLocation annotationView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有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模型对象上没有启用的属性 – 它是视图的属性.)

猜你在找的C&C++相关文章