1

我想创建一个条形图。我已经有一个图表组件,我只需要将它调整为条形图。当触摸其中一个条时,值会在小视图中弹出。

正如我所看到的,这里可以应用几种不同的策略。我想知道我应该使用哪种策略?这些中的任何一个,或者也许还有其他更好的想法?:

  1. Bar 是一个 UIButton。
  2. Bar 是一个支持触摸的 UIImage。
  3. Bar 是一个 UIView。
  4. 条只是绘制的图形,我必须对触摸的坐标进行转码并进行一些计算才能知道触摸的是什么条。我不相信这种策略,但也许有理由重新考虑这一点,你可以为我提供......

我假设 UILable 是呈现与栏相关的数据的方式?

提前感谢您的建议!

4

3 回答 3

0

我的想法是 #2 和 #3 有点相同,因为您将使用 UIImageView 显示图像。UIButton 是 UIView 上的一个非常薄的层,它使事件处理变得容易,但它可能会在视觉上做你不想要的事情(或者你可能会做?)。无论哪种方式,尝试这些变化都很容易,我只是玩它。我看不出#4 的具体原因,除非你的整体策略推动你朝这个方向发展,比如你可能开始做一些足够丰富/复杂的绘图,以至于你创建了太多视图。

AFA弹出显示,这真的取决于你所说的“弹出”。就像它弹出一样,您是否需要一种方法来关闭该弹出窗口?

于 2011-05-08T13:12:48.373 回答
0

以我的拙见,并且写了许多条形图(和其他图表)......#4实际上是性能和我个人偏好的正确选择。在内存中创建虚拟图形以将触摸映射到条形图一点也不困难,因为您只是将矩形存储在数组中并检查点是否在该矩形内。

 CGRectContainsPoint(CGRect, CGPoint);

现在,话虽如此,如果您想在图表中引入动画,这是非常酷的东西......然后我可以创建一个由多个 UIView 组成的 UIView(每个条形图或条形图段一个),这样您就可以无需编写自己的动画循环即可单独为每个栏设置动画。

只是我的两分钱。

于 2011-05-08T14:25:29.207 回答
0

你检查过核心情节吗?它是一个活跃而强大的库,非常灵活,应该可以满足您的所有需求。

于 2011-05-08T14:25:47.647 回答