我有一个复杂的UIBezierCurve,我需要用一些特定的线参数绘制一次,然后再次绘制它作为与其他线参数的叠加,但我也需要曲线的最后部分略短于前一部分。制作UIBezierPath的独立副本?
要做到这一点,我想addLineToPoint:
创建曲线,moveToPoint:
直到最后一部分,然后让这条曲线的副本,并在不同的原件和复制曲线添加行的最后部分。然后我抚摸原来的曲线和复制的曲线。
问题是它不能像我期望的那样工作。 我创建通过曲线的副本:
UIBezierPath* copyCurve = [originalCurve copy];
和我做的originalCurve后的图纸,也适用于copyCurve,所以我不能对任何这种曲线做无关的绘图。
原创和复制之间的这种联系的原因是什么,我该如何摆脱它?
编辑1: 我已经找到了一个解决方案是创建以下列方式复制:
UIBezierPath* copyCurve=[UIBezierPath bezierPathWithCGPath:CGPathCreateMutableCopy(originalCurve.CGPath)];
因为这工作正常,也许问题是在副本中我得到的不变性
[originalCurve copy]
你有没有'alloc' /'初始化'你的copyCurve? – Dustin 2012-07-13 14:30:50
不,只是写在我的问题... – BartoNaz 2012-07-13 14:32:28