我创建了折线图。现在,当我点击屏幕时,我需要在此图表上显示点。最好的方法是什么?我需要drawRect
再次调用方法,用标记点绘制整个图表吗?
我正在考虑图表上的透明层之类的东西UIView
。我可以创建另一个透明UIView
并将其放在图表的位置吗?
我创建了折线图。现在,当我点击屏幕时,我需要在此图表上显示点。最好的方法是什么?我需要drawRect
再次调用方法,用标记点绘制整个图表吗?
我正在考虑图表上的透明层之类的东西UIView
。我可以创建另一个透明UIView
并将其放在图表的位置吗?
由于所有绘图都是在视图中完成的,drawRect:
因此您只能优化图表的绘图,因此可以只更新其中的一部分并使用setNeedsDisplayInRect:
(传递标记应该在的区域)。
或者,您创建另一个 UIView 子类,该子类位于图表顶部,除了在透明背景上绘制标记之外什么都不做。可能更容易和更快地实施。它还有另一个好处:
如果您使该视图仅与标记的边界框一样大,您还可以轻松地对其进行动画处理,例如淡入淡出。或者让它旋转一点(要查看我想到的效果,请在 Mac OS X 中选择“帮助”菜单,在搜索字段中输入一些内容,例如“a”,然后查看菜单项旁边的标记移动一点围绕一个点)。
您可以使用setNeedsDisplayInRect:
.