2012-11-22 38 views
5

मैं एक UITableViewCell पर 'UIImageView' प्रॉपर्टी के लिए गतिशील रूप से (अपना स्वयं का कस्टम ड्राइंग) UIImage बना रहा हूं।एक पारदर्शी पृष्ठभूमि के साथ UIImage कैसे बनाएं

जब कोई उपयोगकर्ता तालिका दृश्य कक्ष का चयन करता है, तो सेल पृष्ठभूमि नीली हो जाती है लेकिन मेरी कस्टम यूआईएममेज पृष्ठभूमि नहीं होती है - यह सफ़ेद बनी हुई है (इसलिए यह दर्दनाक रूप से स्पष्ट है कि मुझे वहां एक छवि बैठी है)। मैंने विभिन्न ड्राइंग दृष्टिकोण

// when I create the cell 
cell.imageView.backgroundColor = [UIColor clearColor]; 
cell.imageView.opaque = NO; 

// 1. when I create the UIImage - clearColor background 
CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); 
CGContextFillRect(context, rect); 

// 2. when I create the UIImage - clear background 
CGContextClearRect(context, rect); 

परन्तु इन दोनों दृष्टिकोणों में, पृष्ठभूमि काला है। काम करने के लिए प्रतीत होने वाली एकमात्र चीज छवि बनाने के लिए है और फिर पहली छवि के आधार पर 'CGImageCreateWithMaskingColors' के साथ दूसरी छवि बनाएं - पृष्ठभूमि को मास्किंग करें।

क्या कोई तरीका है कि मैं पहली जगह में एक पारदर्शी पृष्ठभूमि "पेंट" कर सकता हूं?

+1

क्या आप छवि संदर्भ सेट अप करने के लिए 'UIGraphicsBeginImageContextWithOptions' का उपयोग कर रहे हैं? क्या आप 'अपारदर्शी' पैरामीटर के लिए 'NO' पास कर रहे हैं? – rmaddy

उत्तर

9

यह सुनिश्चित करें कि आप NO फ़ंक्शन पर UIGraphicsBeginImageContextWithOptions फ़ंक्शन पर जा रहे हैं जब आप छवि संदर्भ सेट करते हैं।