Belirli bir satır parametresiyle bir kez çizmem gereken karmaşık bir UIBezierCurve var ve daha sonra diğer satır parametrelerine bindirme olarak tekrar çiziyorum ama aynı zamanda eğrinin son kısmına da öncekinden biraz daha kısa olacak şekilde ihtiyacım var. UIBezierPath'in bağımsız bir kopyasını aldınız mı?
BenaddLineToPoint:
tarafından eğriyi oluşturmak istiyorum Bunu yapmak için son kısmına kadar
moveToPoint:
, o zaman bu eğrinin bir kopyasını yapmak ve orijinal ve kopyalanan eğrileri farklı hattın son segmentler ekleyin. Ve sonra orijinal eğimi ve kopyalananı inmeye başladım. Sorun, beklediğim gibi çalışmadığıdır. copyCurve de uygulanır,
UIBezierPath* copyCurve = [originalCurve copy];
Ve bundan sonra originalCurve yapmak çizim, bu yüzden, bu eğriler herhangi biri için bağımsız bir çizim yapamaz: I ile eğri bir kopyasını yaratır.
Orijinal ile kopya arasındaki bu bağlantının sebebi nedir ve nasıl kurtulabilirim?
DÜZENLEME 1: buldum Bir çözüm aşağıdaki şekilde kopya oluşturmaktır : Bu düzgün çalıştığı için
UIBezierPath* copyCurve=[UIBezierPath bezierPathWithCGPath:CGPathCreateMutableCopy(originalCurve.CGPath)];
, belki sorun ben almak kopya değişmezliği olduğunu
[originalCurve copy]
Öyle mi 'alloc' /' init 'copyCurve? – Dustin
Hayır, sadece soruma yazılan şey ... – BartoNaz