2010-02-16 17 views
5

मैं UITableView (मेरे पुराने प्रश्नों ने मुझे इस दिशा में इंगित किया है) का उपयोग कर ग्रिड व्यू बनाने की कोशिश कर रहा हूं और वर्तमान में अलग-अलग वस्तुओं के लिए विचार स्थापित कर रहा हूं। एक कस्टम UITableViewCell बनाने के बाद जो प्रति पंक्ति 3 आइटम प्रदर्शित करता है, मैंने इन आइटमों को आइटम दृश्य के नाम से UIView के उप-वर्ग में खींचने का निर्णय लिया है।UIView पृष्ठभूमि रंग

यह आइटम दृश्य तब ग्रिड प्रदर्शित करने के लिए कस्टम UITableViewCell के उप-दृश्य के रूप में जोड़ा जाएगा। वैसे भी, मैंने दृश्य बनाने में कामयाब रहा है और इसे यूलाबेल जुर्माना प्रदर्शित करने के लिए प्राप्त कर सकता हूं, हालांकि मुझे आइटमव्यू को बदलने के लिए UIViews (लेबल, बटन, इमेज इत्यादि) के अलावा पारदर्शी होने में परेशानी हो रही है। UIView के लिए मेरा कोड यहां दिया गया है:

#import <UIKit/UIKit.h> 
@interface ItemView : UIView { 
} 
@end 

#import "ItemView.h" 
@implementation ItemView 

- (id)initWithFrame:(CGRect)frame { 
    if ((self = [super initWithFrame:frame])) { 
    } 
    return self; 
} 

- (void)drawRect:(CGRect)rect { 
    [self setBackgroundColor:[UIColor lightGrayColor]]; 
} 

- (void)dealloc { 
    [super dealloc]; 
} 
@end 

मुझे इसके लिए पृष्ठभूमि रंग को ठीक से काम करने के लिए कहां सेट करना चाहिए?

चीयर्स

+0

हाय जैक, क्या आप यहां समाधान पोस्ट कर सकते हैं? – Piyush

उत्तर

11

प्रयास करें:

self.backgroundColor = [UIColor clearColor]; 

मैं नहीं किसी भी कारण के लिए है कि अपने init विधि में नहीं दिख रहा है। मुझे नहीं लगता कि आप drawRect को ओवरराइड करना चाहते हैं: इस मामले में आपको पूरे दृश्य को स्वयं खींचने की आवश्यकता होगी।

+1

मैंने यह कोशिश की थी, हालांकि मेरे बाकी कोड को देखने के बाद, मुझे कुछ चीजें मिलीं जो इसे गड़बड़ कर रही थीं। अंत में यह काम कर रहा है। जवाब के लिए धन्यवाद। – Jack

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