2011-11-26 16 views
12

मैं डेटा प्रकार का उपयोग कर CGContextSetRGBFillColor के लिए तर्क इनपुट करने की कोशिश कर रहा हूं। उदाहरण के लिए:CGContextSetRGBFillColor में कोई तर्क कैसे इनपुट करें?

NSString *colorcode = ctx, 0, 1, 0, 0; 
CGContextSetRGBFillColor(colorcode); 

लेकिन मुझे यह कहते हुए एक त्रुटि मिल रही है कि मेरे पास बहुत कम तर्क हैं।

मैं उपयोगकर्ता क्रियाओं के आधार पर CGContextSetRGBFillColor पर तर्कों को बदलना चाहता हूं।

मैं डेटा प्रकार का उपयोग कर CGContextSetRGBFillColor के लिए तर्क इनपुट करना चाहता हूं क्योंकि इसके मान अलग दृश्य नियंत्रक में सेट हैं। या क्या मैं सीधे CGContextSetRGBFillColor पर तर्क इनपुट कर सकता हूं और फिर इसे उपयोग करने के लिए इसे अन्य दृश्य नियंत्रक पर ला सकता हूं?

+0

यदि आप मौजूदा 'CGContext' से निपटते हैं, तो आप' यूआईसीओलर 'वर्ग की' सेटफिल 'विधि का उपयोग कर सकते हैं;) – DanSkeel

उत्तर

1

ऐसा लगता है कि आप वास्तव में क्या कर रही करने की आवश्यकता है:

CGContextSetRGBFillColor (ctx, 0.0f, 1.0f, 0.0f, 1.0f); 

कहाँ प्रत्येक रंग घटक 0.0 और 1.0 के बीच कुछ अंश है।

आप एनएसएसटींग का उपयोग क्यों कर रहे हैं?

Here is the documentation on Apple's website

40

उपयोगकर्ता के चुने हुए रंग को स्टोर करने के लिए UIColor ऑब्जेक्ट का उपयोग करने का प्रयास करें। आप इस तरह बना सकते हैं:

UIColor *color = [UIColor colorWithRed:0 green:1 blue:0 alpha:0]; 

फिर जब यह रंग भरने के रूप में उपयोग करने का समय है, तो आप ऐसा कर सकते हैं:

CGContextSetFillColorWithColor(ctx, color.CGColor); 

मुझे लगता है कि एआरसी का उपयोग कर यदि आप नहीं हैं उल्लेख करना चाहिए , आपको रंग को उचित रूप से बनाए रखने और रिलीज़ करने की आवश्यकता है।

0

मैं डेटा प्रकार का उपयोग कर CGContextSetRGBFillColor के लिए तर्क इनपुट करना चाहता हूं क्योंकि इसके मान अलग दृश्य नियंत्रक में सेट हैं।

आप विशेष रूप से CGColor कक्षा में दिलचस्पी हो सकती है, या, iOS पर, UIColor

या कर सकते हैं मैं सीधे इनपुट CGContextSetRGBFillColor तर्क ...

CGContextSetRGBFillColor के लिए इनपुट करने के लिए एक ही रास्ता तर्क है कि।

... और फिर इसे उपयोग करने के लिए इसे अन्य दृश्य नियंत्रक पर लाएं?

यह समझ में नहीं आता है। क्या लाओ?

यदि आप रंग को एक व्यू कंट्रोलर से दूसरे में ले जाना चाहते हैं, तो यह रंग ऑब्जेक्ट बनाकर सबसे अच्छा किया जाता है-या तो एक CGColor या UIColor- और उसे गुजरना।

+0

रंग-पिकर व्यू के प्रभारी दृश्य नियंत्रक होने और किसी अन्य नियंत्रक के दृश्य में चुने हुए रंग का उपयोग करके, उचित है। –

+0

@robmayoff: पर्याप्त मेला। मैं अपने जवाब से उस बिट को हटा दूंगा। –

संबंधित मुद्दे