我创建了线路图。现在,当我点击屏幕时,我需要在此图表上显示点。最好的方法是什么?我需要打电话吗 drawRect 方法再次,用标记点绘制整个图表?

我正在考虑图表上的透明层 UIView. 。我可以创建另一个透明吗 UIView 并把它放在我的图表的位置?

有帮助吗?

解决方案

由于所有绘图都是在视图中完成的 drawRect: 您只能优化图表的绘图,因此可以仅更新其中的一部分并使用 setNeedsDisplayInRect: (经过标记应该是的区域)。

或者,您可以创建另一个位于图表顶部的Uiview子类,除了在透明背景上绘制标记外,什么也无能为力。实施可能更容易,更快。它也将有另一个好处:

如果您只能使该视图与标记的边界框一样大,那么您也可以轻松地对其进行动画,例如将其褪色。或让其旋转一点(要查看我想到的效果,请在Mac OS X中选择“帮助”菜单,在搜索字段中键入“ A”之类的内容,然后查看菜单旁边的标记,移动一点在一个地方)。

其他提示

您可以使用一部分视图来使用 setNeedsDisplayInRect:.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top