2

折れ線グラフを作成しました。次に、画面をタップしたときにこのチャートにポイントを表示する必要があります。最良の方法は何でしょうか?メソッドを再度呼び出しdrawRectて、マークされたポイントでチャート全体を描画する必要がありますか?

チャート上の透明なレイヤーのようなものを考えていUIViewます。別の透明を作成しUIViewてチャートの位置に配置できますか?

4

2 に答える 2

1

すべての描画はビューで行われるdrawRect:ため、チャートの描画のみを最適化して、その一部のみを更新して使用することができますsetNeedsDisplayInRect:(マーカーがあるべき領域を渡します)。

または、チャートの上に重ねられ、透明な背景にマーカーを描画するだけの別の UIView サブクラスを作成します。おそらく、より簡単かつ迅速に実装できます。また、別の利点もあります。

そのビューをマーカーのバウンディング ボックスと同じくらいの大きさにすると、フェードインやフェードアウトなど、簡単にアニメーション化することもできます。または、少し回転させます (私が考えている効果を確認するには、Mac OS X の [ヘルプ] メニューを選択し、検索フィールドに「a」などを入力して、メニュー項目の横にあるマーカーが少し移動するのを確認します)。スポットの周り)。

于 2010-10-26T15:36:30.180 に答える
0

を使用してビューの一部を描画できますsetNeedsDisplayInRect:

于 2010-10-26T13:31:09.930 に答える