web-dev-qa-db-ja.com

MKMapViewでのユーザー操作を無効にする方法は?

IOSでマップ全体(MKMapView)に対するユーザー操作を無効にするにはどうすればよいですか?ズーム、タップなどを無効にして、静的な地図を表示したいだけです。 [self.mapView setUserInteractionEnabled:NO]が機能しませんでした。 Google経由で有効な解決策が見つからないか、スタックのその他の回答が見つかりません(有効な回答が見つかった場合はリンクをクリックしてください。)。 iOS 5をターゲットにします。これを行う簡単な方法があるはずです。

32
eric

重要なのは、次のようなズームとスクロールを無効にすることです。

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

これは、次のようにInterface Builderで実行できます。

Like this

18
Adam Waite

この小さなハックはどうですか!フレームの詳細がすべて同じUIViewの上にMKMapViewを置くだけです。また、このビューのbackgroundColorclearColorである必要があります。

1
illuminatus

MKAnnotationViewのenabledプロパティをNOに設定できます

ズームを無効にするには、mapView.zoomEnabled = FALSE;

有効

注釈が有効かどうかを示すブール値。

@property (nonatomic, getter=isEnabled) BOOL enabled

ディスカッション

このプロパティのデフォルト値はYESです。このプロパティの値がNOの場合、注釈ビューはタッチイベントを無視し、選択できません。サブクラスは、このプロパティの値に応じて、アノテーションの内容を異なる方法で表示する場合もあります。

0
Shamsudheen TK