次のようUITapGestureRecognizer
に、 を に追加しました。MKMapView
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(doStuff:)];
[tapGesture setCancelsTouchesInView:NO];
[tapGesture setDelaysTouchesEnded:NO];
[[self myMap] addGestureRecognizer:tapGesture];
[tapGesture release];
これはほとんど機能します。タップ ジェスチャは認識され、ダブルタップでもマップがズームされます。残念ながら、 は、タップ ジェスチャによってもトリガーされる要素UITapGestureRecognizer
の選択と選択解除を妨げます。MKAnnotationView
setCancelsTouchesInView
プロパティとプロパティを設定しsetDelaysTouchesEnded
ても効果はありません。を追加しないと、注釈の選択は正常に機能しUIGestureRecognizer
ます。
私は何が欠けていますか?
アップデート:
以下のAnna Kareninaが示唆しているように、この問題YES
はshouldRecognizeSimultaneouslyWithGestureRecognizer:
delegateメソッドに戻ることで回避できます。
この回答の詳細。