折れ線グラフを作成しました。次に、画面をタップしたときにこのチャートにポイントを表示する必要があります。最良の方法は何でしょうか?メソッドを再度呼び出しdrawRect
て、マークされたポイントでチャート全体を描画する必要がありますか?
チャート上の透明なレイヤーのようなものを考えていUIView
ます。別の透明を作成しUIView
てチャートの位置に配置できますか?
折れ線グラフを作成しました。次に、画面をタップしたときにこのチャートにポイントを表示する必要があります。最良の方法は何でしょうか?メソッドを再度呼び出しdrawRect
て、マークされたポイントでチャート全体を描画する必要がありますか?
チャート上の透明なレイヤーのようなものを考えていUIView
ます。別の透明を作成しUIView
てチャートの位置に配置できますか?
すべての描画はビューで行われるdrawRect:
ため、チャートの描画のみを最適化して、その一部のみを更新して使用することができますsetNeedsDisplayInRect:
(マーカーがあるべき領域を渡します)。
または、チャートの上に重ねられ、透明な背景にマーカーを描画するだけの別の UIView サブクラスを作成します。おそらく、より簡単かつ迅速に実装できます。また、別の利点もあります。
そのビューをマーカーのバウンディング ボックスと同じくらいの大きさにすると、フェードインやフェードアウトなど、簡単にアニメーション化することもできます。または、少し回転させます (私が考えている効果を確認するには、Mac OS X の [ヘルプ] メニューを選択し、検索フィールドに「a」などを入力して、メニュー項目の横にあるマーカーが少し移動するのを確認します)。スポットの周り)。
を使用してビューの一部を描画できますsetNeedsDisplayInRect:
。