2011-02-01 7 views
1

私はiPadアプリケーションで作業しています。透明なUIScrollView(画面の約1/5)をフルスクリーンMKMapViewに表示しています。 UIScrollViewを水平方向にスクロールするときに、注釈(マップピン)をマップに追加していますが、UIScrollViewをドラッグ/ストップするまで、ピンがマップ上に実際にドロップされないことに気付いています。マップ上でUIScrollViewをドラッグしたときのMKMapView addAnnotationの遅延

以下のNSLogを追加することで、タイミングが予想どおりであることも確認しました。スクロールするとコンソールに「ピン追加中」というメッセージが表示されますが、ドラッグを停止するまでピンは追加されません。

if(![myMap.annotations containsObject:item]) { 
    [myMap addAnnotation:item]; 
    NSLog(@"Adding pin."); // Gets called when I would expect, but no pin drops 
} 

私はマップはタッチで何かをやっていることを確信しているが、私はそれ以上のUIScrollViewの中にタッチを無視するようにマップを伝えるするかどうかはわかりません...または逆、UIScrollViewのを教えて下の地図に触れないでください。

助けが必要です。

答えて

0

UIScrollViewの上のタッチを無視するようマップに指示する方法がわかりません。逆にUIScrollViewには、下のマップにタッチしないよう伝えてください。

UIViewsで3つのタッチ関連のプロパティを試しましたか? UIScrollViewの.exclusiveTouchプロパティをYESに設定すると、タッチイベントがそのウィンドウ内の他のビューに配信されないようになります。

または、マップビューの.userInteractionEnabledプロパティをNOに変更できます。いずれにしても、スクロールビューからマップビューへのタッチイベントの配信をブロックします。

これらの2つのプロパティが機能しない場合は、おそらくスクロールビュー内での接触とは無関係の問題です。

関連する問題