मेरे पास एक जटिल UIBezierCurve है जिसे मुझे कुछ विशेष लाइन पैरामीटर के साथ एक बार आकर्षित करने की आवश्यकता है, और फिर इसे अन्य लाइन पैरामीटर के साथ ओवरले के रूप में फिर से खींचें, लेकिन मुझे वक्र के अंतिम भाग को पिछले एक की तुलना में थोड़ा छोटा होना चाहिए।UIBezierPath की स्वतंत्र प्रति बनाएं?
इस मैं addLineToPoint:
द्वारा वक्र बनाना चाहते हैं करने के लिए, moveToPoint:
अंतिम भाग से ऊपर है, तो इस वक्र की एक प्रतिलिपि बनाने और मूल और प्रतिलिपि बनाई घटता में अलग लाइन के अंतिम खंड जोड़ें। और फिर मैं मूल वक्र, और नकल एक स्ट्रोक।
समस्या यह है कि यह मेरी अपेक्षा के अनुसार काम नहीं करता है। मैं द्वारा वक्र की एक प्रतिलिपि बनाने:
UIBezierPath* copyCurve = [originalCurve copy];
और ड्राइंग जो मुझे लगता है कि बाद originalCurve में करते हैं, copyCurve को भी लागू किया जाता है, इसलिए मैं इस घटता से किसी के लिए स्वतंत्र ड्राइंग नहीं कर सकते।
मूल और प्रतिलिपि के बीच इस संबंध का कारण क्या है और मैं इससे कैसे छुटकारा पा सकता हूं?
संपादित करें 1: एक समाधान है जो मैंने पाया निम्नलिखित तरीके से प्रतिलिपि बनाने के लिए है:
UIBezierPath* copyCurve=[UIBezierPath bezierPathWithCGPath:CGPathCreateMutableCopy(originalCurve.CGPath)];
चूंकि यह ठीक से काम करता है, शायद समस्या प्रतिलिपि मैं के साथ मिल की अचल में है
[originalCurve copy]
आप क्या 'alloc' /' init 'आपकी प्रतिलिपि? – Dustin
नहीं, बस मेरे प्रश्न में क्या लिखा गया है ... – BartoNaz