9

アニメーション化されたレーダー データを一連の画像として表示する MKOverlayView があります。私が抱えている問題は、レーダー画像が MapKit によってタイルに切り刻まれることです。画像を交換するために、オーバーレイに現在の画像を設定してから次を呼び出す更新関数を呼び出すタイマーがあります

[myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect];

オーバーレイは更新されますが、一度に 1 タイルずつ更新されるため、途切れ途切れのアニメーションが表示されます。すべてのタイルを同時にアニメーション化する (つまり、画像を入れ替える) 方法についてのアイデアはありますか?

4

3 に答える 3

6

MKOverlayView のサブビューとして UIImageView を追加することで、これを解決しました。

  • アニメーション化するには、通常の drawMapRect:zoomScale:inContext: (インスタンス変数/プロパティ フラグ経由) での描画を停止し、代わりに UIImageView (animationImages プロパティ) に描画してから、startAnimating を使用します。

  • mapView:regionDidChangeAnimated: に応答して UIImageView を再初期化することで、パンとズームを処理できます。

于 2011-07-05T18:13:55.897 に答える
4

円をアニメーション化するサンプル コード:

http://yickhong-ios.blogspot.com/2012/04/animated-circle-on-mkmapview.html

于 2012-05-20T15:55:28.263 に答える
0

すべてのタイルの読み込みが完了したときのコールバックはありますか? その場合は、ダブル バッファリングを使用して、画面外のビューを更新してから、スイッチインすることができます。

于 2011-04-26T18:22:16.683 に答える