2009-09-03 8 views
10

मैंने कुछ आईफोन अनुप्रयोगों को देखा है जो एक मानक छवि का उपयोग मानक ग्रे लाइनों के बजाय समूहबद्ध UITableView के लिए पृष्ठभूमि के रूप में करते हैं।समूहबद्ध तालिका दृश्य के लिए मैं पृष्ठभूमि छवि कैसे सेट करूं?

यह कैसे प्राप्त किया जाता है?

उत्तर

3

एक अन्य प्रोजेक्ट (2.2.1 का उपयोग करके विकसित) में मैंने अपनी UITableView' की पृष्ठभूमि अस्पष्टता 0% पर सेट करके और फिर इंटरफ़ेस बिल्डर का उपयोग करके UIImageView को लेयर करके इसे किया। इसने टेबल स्थिति के बावजूद मुझे एक निश्चित पृष्ठभूमि रखने की अनुमति दी। आप इसके बजाय छवि होने के लिए UITableView की पृष्ठभूमि भी सेट कर सकते हैं, लेकिन फिर तालिका के साथ पृष्ठभूमि स्क्रॉल करता है। (मेरे पास इस समय कोड आसान नहीं है, लेकिन मुझे ऐप्पल डेवलपर फ़ोरम पर कुछ समय पहले टिप मिली है)।

ध्यान दें कि इससे कुछ प्रदर्शन समस्याएं हो सकती हैं। ऐप्पल जब भी संभव हो पारदर्शिता का उपयोग करके हतोत्साहित करता है क्योंकि प्री-3 जीएस मॉडल पर जीपीयू विशेष रूप से मांसपेशियों में नहीं होते हैं।

3

तुम इतनी तरह +[UIColor colorWithPatternImage:(UIImage)] विधि का उपयोग कर सकते हैं:

self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]]; 
2

colorWithPatternImage साथ समस्या यह है: कि आप "पैटर्न वाली" छवियों का उपयोग करने, अन्यथा अपनी छवि को बेतरतीब ढंग से इस कड़ी को उस टाइलों की जाएगी

की जरूरत है एक सरल उपाय है, अगर आप चाहते हैं कि आपके सभी दृश्यों एक ही पृष्ठभूमि

http://howtomakeiphoneapps.com/2009/03/how-to-add-a-nice-background-image-to-your-grouped-table-view/

2
के लिए 10

आशा है कि इससे मदद मिलेगी। यह विशेष रूप से समूहित UITableView के मामले में कोशिकाओं के पीछे घृणित पारदर्शी पृष्ठभूमि प्रदर्शित नहीं करेगा।

+4

एक्सेस करना parentViewController.view एक भयानक विचार है की कोशिश करो - आप समर्थन की किस तरह यह है पता नहीं है, और यह एक बहुत बुरा उल्लंघन है encapsulation के। यहां तक ​​कि अगर यह अभी काम करता है, तो अगला आईओएस अपडेट पूरी तरह से आपके कोड को तोड़ सकता है। ऐसा मत करो। –

24

यहाँ क्या मेरे लिए काम किया है (और काफी सरल एक बार मैं इसे समझ से बाहर;)

1) एक दृश्य जोड़े अपने अनुप्रयोग प्रतिनिधि में और यह खिड़की के एक subview बनाने:

UIView *bgView = [[UIView alloc]initWithFrame:window.frame]; 

bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]]; 
[window addSubview:bgView]; 
[bgView release]; 

2) प्रत्येक दृश्य नियंत्रक मीटर फ़ाइल पर, viewDidLoad के तहत, पारदर्शी (करने के लिए उस विशेष दृश्य के सेट पृष्ठभूमि रंग इतना ऊपर बनाया अन्य bgView के माध्यम से दिखाई देगा):

self.view.backgroundColor = [UIColor clearColor]; 

और मेरे मामले में, वी चरण 2 में नियंत्रक एक tableviewcontroller था। अच्छा लग रहा है।

और btw, कर प्रत्येक दृश्य नियंत्रक में निम्नलिखित में अच्छी तरह से काम नहीं किया:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"screenBG.png"]]; 

तो ऊपर चरण 1 और 2 का पालन करें।

आशा इस बाहर में मदद करता है, Tbone

+0

मुझे यह चाल पसंद है। – winnicki

+2

ऐप प्रतिनिधि में आप अधिक आसानी से कर सकते हैं: self.window।पृष्ठभूमि रंग = [यूआईसीओलर रंगविथ पैटर्न इमेज: [UIImage imageNamed: @ "bg.png"]]; –

+0

मैं यहां गिल मार्गोलिन से सहमत हूं ... खिड़की की पृष्ठभूमि को सेट करना आसान था छवि के रूप में रंग। एक चेतावनी के साथ - आपको रेटिना/iphone5 के लिए सही छवि को मैन्युअल रूप से लोड करना होगा, जो जटिल चीजें थोड़ा सा है। –

9

इस

- (void) viewDidLoad { 
    [super viewDidLoad]; 

    self.tableView.backgroundColor = [UIColor clearColor]; 
    self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"wallpaper.png"]]; 
    self.tableView.opaque = NO; 
} 
+0

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

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

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