जब मैं UIView
को एक व्यू कंट्रोलर प्रोग्रामेटिक रूप से जोड़ता हूं, तो मैं पृष्ठभूमि रंग को किसी अन्य रंग में बदलने में सक्षम नहीं हूं, यह हमेशा काला रहता है।UIView पृष्ठभूमि रंग हमेशा काला
- (void)drawRect:(CGRect)rect
{
// Drawing code
self.backgroundColor = [UIColor blueColor];
UIBezierPath *path = [[UIBezierPath alloc] init];
[path moveToPoint:CGPointMake(100, 33)];
[path addLineToPoint:CGPointMake(200, 33)];
path.lineWidth = 5;
[[UIColor redColor] setStroke];
[path stroke];
}
जब मैं drawrect:
बाहर टिप्पणी और रंग में परिवर्तन के प्रारंभकर्ता को self.backgroundColor = [UIColor blueColor];
जोड़ें:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.backgroundColor = [UIColor blueColor]
}
return self;
}
ऐसा क्यों है और क्या मैं बदलने की जरूरत है? दरअसल मैं पृष्ठभूमि को पारदर्शी होना चाहता हूं।
जब मैं पृष्ठभूमि रंग चाहता हूं तो उत्तर पूरी तरह से काम करता है। लेकिन मैं [[UIColor clearColor] setFill] का उपयोग नहीं कर सकता; यह अभी भी काला आता है। – Pete
@Pete, मैं उसी परिणाम को देखता हूं जब आप drawRect में रंग को सेट करने का प्रयास करते समय करते हैं। इसे ठीक करने के लिए, उस यूआईआरईटीफ़िल कॉल को हटाएं और दृश्य की init विधि में स्पष्ट करने के लिए पृष्ठभूमि रंग सेट करें (जो कभी भी विधि को आपके द्वारा दृश्य बनाने के तरीके के लिए उपयुक्त है)। – rdelmar
@Pete कृपया इस प्रश्न को जांचें http://stackoverflow.com/questions/2125543/setting-a-cgcontext-transparent-background।शायद यह – Avt