How do you disable user interaction to an entire Map (MKMapView) in iOS? I just want to disable zooming, tapping, etc and show a static map. [self.mapView setUserInteractionEnabled:NO]
didn't work. Found no working solutions via Google or other answers here on Stack (pls link if you find a working answer..). Targeting iOS 5. There should be an easier way to do this.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The key is to disable zooms and scrolls, such as:
self.mapView.zoomEnabled = false;
self.mapView.scrollEnabled = false;
self.mapView.userInteractionEnabled = false;
回答2:
You can do this in Interface Builder like this:
回答3:
How about this little hack!
just place UIView
on top of the MKMapView
having all the same frame details. Also note that the backgroundColor
of this view should be clearColor
回答4:
You can set the enabled property of MKAnnotationView to NO
For disabling Zoom, you can set mapView.zoomEnabled = FALSE;
enabled
A Boolean value indicating whether the annotation is enabled.
@property (nonatomic, getter=isEnabled) BOOL enabled
Discussion
The default value of this property is YES. If the value of this property is NO, the annotation view ignores touch events and cannot be selected. Subclasses may also display the annotation contents differently depending on the value of this property.