2

私はiPadアプリケーションに取り組んでおり、その上に透明なUIScrollView(画面の約1/5)を持つフルスクリーンのMKMapViewがあります。UIScrollView を水平方向にスクロールするときにマップに注釈 (マップ ピン) を追加していますが、UIScrollView のドラッグを放すか停止するまで、ピンが実際にはマップにドロップされないことに気付きました。

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

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

マップがタッチで何かをしていることは確かですが、その上のUIScrollViewのタッチを無視するようにマップに指示する方法がわかりません...または逆に、UIScrollViewにタッチを渡さないように指示します下の地図。

どんな助けでも感謝します。

4

1 に答える 1

0

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

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

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

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

于 2011-02-01T19:43:47.453 に答える