0

私が作成したAndroidアプリがあり、基本的にカスタムオーバーレイがあります。このオーバーレイでは、DRAWメソッドを上書きしてキャンバスに何かを描画し、DRAWオーバーライドの最後に、キャンバスに渡すスーパーDRAWを呼び出しますペイントしました..結果は、マップが変更されるたびに、とにかくカスタムオーバーレイが期待どおりに再描画されます。

今、私はiPhoneで同じことを達成しようとしていますが、少し混乱しています.

基本的に、マップの再描画が発生するたびに、マップの右上隅に何かを描画する必要があります。ドローインは更新ごとに変更されるため、単純にマップ上にビューを配置してタッチを通過させることはできません。

それで、問題は、iOS の DRAW メソッドの同等物は何ですか..どうすればこれと同じことを大まかに達成できるでしょうか? APIにはMKOverlayViewがありますが、いくつかの重要な違いがあるようです..では、マップ上に10x10で何かを配置するにはどうすればよいですか?誰のサイズは可変で、マップが移動、スケーリング、または相互作用するたびに確認しますこのオブジェクトは、画面上の 10x10 の位置に再描画されます。

4

1 に答える 1

0

MKMapView のドキュメントには、MKMapView をサブクラス化してはならないことが記載されているため、drawRect メソッドをオーバーライドすることはできません/すべきではありません。ただし、UIView を追加し、drawRect をオーバーライドしてカスタム描画を行うことができます。

于 2012-11-28T05:10:12.770 に答える