我有一個複雜的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