2010-02-16 14 views
21

मेरे पास UITableView में UILabel है। यहाँ कोड मैं cellForRowAtIndexPath में लिखा हैआईआईएलएबल के लिए आईफोन एप्लिकेशन के लिए पारदर्शी पृष्ठभूमि सेटिंग

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(30.0, 5.0, 250.0, 35.0) reuseIdentifier:CellIdentifier] autorelease]; 
    } 


    CGRect rect = CGRectMake(30.0, 5.0, 250.0, 35.0); 
    UILabel *label = [[UILabel alloc] initWithFrame:rect]; 

    label.opaque = NO; 
    label.font = [UIFont systemFontOfSize:14]; 
    label.numberOfLines = 2; 
    label.textAlignment = UITextAlignmentCenter;    
    label.textColor = [UIColor darkGrayColor]; 
    label.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]; 
    [label setText:@"Test Message"];  

    [cell addSubview:label]; 
    [label release]; 
    cell.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone;  

मेरे इरादा सेल और UILabel पारदर्शी के रूप में की पृष्ठभूमि सेट करने के लिए किया गया है।

लेकिन यह काम नहीं कर रहा है। किसी भी एक मुझे बता सकते हैं मैं यहाँ क्या याद आ रही है

धन्यवाद

संदीप

उत्तर

74

बदलें निम्न पंक्ति:

label.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]; 
इस के लिए

:

label.backgroundColor = [UIColor clearColor]; 
+0

के लिए कि आप हमें सही दिशा में इशारा किया गया है (धन्यवाद!) ClearBackGround रंग सेट करने के लिए अब मैं जोड़ देंगे 'कि label.backgroundColor = nil; याद रखना आसान है और वही काम करता है। (बीजी रंग सुपरक्लास, UIView की एक संपत्ति है। प्रति वर्ग रेफरी, "डिफ़ॉल्ट मान शून्य है, जिसके परिणामस्वरूप एक पारदर्शी पृष्ठभूमि रंग होता है।" UILabel उपclass शायद इसे प्रारंभ में सफेद पर सेट करता है, यही कारण है कि आपको स्पष्ट रूप से बदलना है यह वापस शून्य/स्पष्ट है।) – Wienke

+1

परीक्षण पर, हालांकि, यह पता चला है कि आपको ओडेन के मूल उत्तर से चिपकना चाहिए। पृष्ठभूमि को रद्द करना रंग पहले ठीक काम करता है, लेकिन यदि आप बाद में लेबल के पाठ को बदलते हैं, तो नया टेक्स्ट पुराने पर * अतिरंजित * होगा। बहुत अजीब। – Wienke

+0

मूल्य को शून्य पर सेट करना मेरा पहला अनुमान था, लेकिन इसके परिणामस्वरूप पूरे लेबल (टेक्स्ट और पृष्ठभूमि) पूरी तरह से काले हो गए। [UIColor clearColor] पूरी तरह से काम किया। –

2

Xamarin का उपयोग कर उन लोगों के लिए .iOS यह स्पष्ट रूप से है:

UILabel myLabel = new UILabel(); 
myLabel.Text = "Hello world!"; 
myLabel.BackgroundColor = UIColor.Clear; 
1
[label setBackGroundColor:[UIColor clearColor]]; 

एक लेबल

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