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 回答