필자는 특정 라인 매개 변수로 한 번 그릴 필요가있는 복잡한 UIBezierCurve를 가지고 있으며, 다른 라인 매개 변수로 오버레이로 다시 그려야합니다. 또한 커브의 마지막 부분이 이전보다 약간 짧아야합니다.UIBezierPath를 독립적으로 만드시겠습니까?
이 작업을 수행하려면 마지막 부분까지 addLineToPoint:
, moveToPoint:
까지 커브를 만든 다음이 커브의 복사본을 만들어 원래 커브와 복사 된 커브에서 선의 마지막 세그먼트를 다르게 추가하고 싶습니다. 그리고 나서 원래의 곡선과 복사 된 곡선을 칠합니다.
문제는 내가 예상 한대로 작동하지 않는다는 것입니다. copyCurve에도 적용된다
UIBezierPath* copyCurve = [originalCurve copy];
그리고 그 후 originalCurve에서 수행 도면, 그래서이 곡선의 어떤 독립적 인 드로잉을 할 수 는 I에 의해 곡선의 복사본을 생성한다.
원본과 사본이 연결되는 이유는 무엇이며 어떻게 제거 할 수 있습니까?
편집 1 : 내가 찾은 해결책은 다음과 같은 방법으로 사본 만드는 것입니다 이 제대로 작동하기 때문에
UIBezierPath* copyCurve=[UIBezierPath bezierPathWithCGPath:CGPathCreateMutableCopy(originalCurve.CGPath)];
을, 어쩌면 문제는 내가 함께 얻을 복사본의 불변성에
[originalCurve copy]
당신을 했습니까'alloc' /'초기화 '당신 커브 커브? – Dustin
아니오, 내 질문에 쓰여진 내용은 ... – BartoNaz