在没有DrawRect的现有Uiview上绘制线/点?
-
26-09-2019 - |
题
我创建了线路图。现在,当我点击屏幕时,我需要在此图表上显示点。最好的方法是什么?我需要打电话吗 drawRect
方法再次,用标记点绘制整个图表?
我正在考虑图表上的透明层 UIView
. 。我可以创建另一个透明吗 UIView
并把它放在我的图表的位置?
解决方案
由于所有绘图都是在视图中完成的 drawRect:
您只能优化图表的绘图,因此可以仅更新其中的一部分并使用 setNeedsDisplayInRect:
(经过标记应该是的区域)。
或者,您可以创建另一个位于图表顶部的Uiview子类,除了在透明背景上绘制标记外,什么也无能为力。实施可能更容易,更快。它也将有另一个好处:
如果您只能使该视图与标记的边界框一样大,那么您也可以轻松地对其进行动画,例如将其褪色。或让其旋转一点(要查看我想到的效果,请在Mac OS X中选择“帮助”菜单,在搜索字段中键入“ A”之类的内容,然后查看菜单旁边的标记,移动一点在一个地方)。
其他提示
您可以使用一部分视图来使用 setNeedsDisplayInRect:
.
不隶属于 StackOverflow