如何在MKMapView上禁用用户交互?

时间:2013-03-14 19:06:09

标签: ios objective-c mkmapview mapkit

如何在iOS中禁用用户与整个地图(MKMapView)的互动?我只想禁用缩放,点击等,并显示静态地图。 [self.mapView setUserInteractionEnabled:NO]没有用。在Stack 上找不到谷歌或其他答案的工作解决方案(如果找到合适的答案,请链接。)。针对iOS 5.应该有一种更简单的方法。

4 个答案:

答案 0 :(得分:66)

关键是禁用缩放和滚动,例如:

self.mapView.zoomEnabled = false;
self.mapView.scrollEnabled = false;
self.mapView.userInteractionEnabled = false;

答案 1 :(得分:18)

您可以在Interface Builder中执行此操作:

Like this

答案 2 :(得分:1)

这个小黑客怎么样! 只需将UIView放在具有所有相同框架详细信息的MKMapView之上。另请注意,此视图的backgroundColor应为clearColor

答案 3 :(得分:0)

您可以将MKAnnotationView的enabled属性设置为NO

要禁用缩放,您可以设置mapView.zoomEnabled = FALSE;

<强>启用

一个布尔值,指示是否启用注释。

@property (nonatomic, getter=isEnabled) BOOL enabled

<强>讨论

此属性的默认值为YES。如果此属性的值为NO,则注释视图将忽略触摸事件,并且无法选择。子类还可以根据此属性的值以不同方式显示注释内容。