1

棒グラフ図を作成したい。すでにダイアグラム コンポーネントがありますが、それを棒グラフに適応させる必要があります。バーの 1 つに触れると、値が小さなビューにポップアップ表示されます。

ご覧のとおり、ここで適用できるさまざまな戦略がいくつかあります。私が知りたいのは、どの戦略を使用すべきかということです。これらのいずれか、または他のより良いアイデアがありますか?:

  1. バーは UIButton です。
  2. Bar はタッチ対応の UIImage です。
  3. バーは UIView です。
  4. バーはペイントされたグラフィックであり、タッチされた座標をトランスコードし、どのバーがタッチされたかを知るためにいくつかの計算を行う必要があります。私はこの戦略を信じていませんが、あなたが私に提供できることを再考する理由があるかもしれません...

UILable は、バーに関連付けられたデータを表示する方法だと思いますか?

アドバイスありがとうございます!

4

3 に答える 3

0

私の謙虚な意見では、多くの棒グラフ (およびその他のグラフ) を書いてきました... パフォーマンスと個人的な好みからすると、実際には #4 が正しい選択です。タッチをバーにマップするためにメモリ内に仮想グラフを作成することはまったく難しくありません。配列に四角形を格納し、ポイントがその四角形内にあるかどうかを確認するだけだからです。

 CGRectContainsPoint(CGRect, CGPoint);

そうは言っても、グラフにアニメーションを導入したい場合は、これはかなりクールなことです...次に、複数の UIView (バーまたはバーセグメントごとに 1 つ) で構成される UIView を作成できます。独自のアニメーション ループを作成せずに、各バーを個別にアニメーション化します。

ちょうど私の2セント。

于 2011-05-08T14:25:29.207 に答える
0

Core Plotをチェックしましたか? これは非常に柔軟で、すべてのニーズを満たすアクティブで強力なライブラリです。

于 2011-05-08T14:25:47.647 に答える
0

私の考えでは、UIImageView を使用して画像を表示するため、#2 と #3 は同じようなものです。UIButton は、イベント処理を簡単にする UIView の非常に薄いレイヤーですが、視覚的に望ましくないことを行う可能性があります (または、行う可能性があります)。いずれにせよ、これらのバリエーションを試すのはとても簡単です。あなたの全体的な戦略がこの方向にあなたを駆り立てない限り、#4の特定の理由はわかりません。たとえば、作成するビューが多すぎるほどリッチ/複雑な描画を開始する場合などです。

AFA ポップアップ表示。「ポップアップ」の意味によって異なります。ポップアップが表示されたら、そのポップアップを閉じる方法が必要ですか?

于 2011-05-08T13:12:48.373 に答える