2011-11-15 8 views
7

मैं एक शेल्फ को कोड करना चाहता हूं और मैं रोटेशन पर पृष्ठभूमि छवियों का आकार बदलने और बदलने और स्क्रीनसाइज (आईपैड/आईफोन) के आधार पर नहीं सोचना चाहता हूं। क्या एक छवि बनाना संभव है, जो क्षैतिज रूप से फैलाएगा लेकिन लंबवत दोहराएगा? अब तक, मुझे केवल [UIColor colorWithPatternImage:] और [UIImage strechableImageWithLeftCapWidth:topCapHeight:] या नया [UIImage resizableImageWithCapInsets:] मिला है। लेकिन मैंने स्पष्ट रूप से उन्हें एक साथ काम करने का प्रबंधन नहीं किया।एक ही समय में

मुझे आशा है कि चित्रण मेरी इस विषय को समझने में मदद करता है:

Illustration

इतना है कि यह अलग अलग आकार और झुकाव के लिए एक ही छवि के साथ काम करेंगे क्या आपको पता है कि कैसे ऊपर पूरा करने के लिए है, क्या है? धन्यवाद!

+0

, '[यूआईसीओलर कलरथथटर इमेज: [UIImage resizableImage ...]]' के लिए आपको किस प्रकार का परिणाम मिलता है? –

+0

छवि छिद्रित या आकार में नहीं है, बस एक्स और वाई पर दोहराया गया है। – denbec

+0

पत्रिकाओं के तहत अच्छी छायाएं :) क्या वे खींचे गए हैं या आपने सीए का उपयोग किया है? – Shmidt

उत्तर

2

[UIColor colorWithPatternImage:] बड़ी संख्या में पंक्तियों के साथ काम करते समय स्मृति की अत्यधिक मात्रा ले सकता है। मैंने एक एकल छवि दृश्य बनाना समाप्त कर दिया जो पूरे दृश्य से [UIColor colorWithPatternImage:] का उपयोग करके एक पंक्ति बड़ा था, फिर ऑफ़सेट स्क्रीन को स्क्रॉल करने के बारे में आवश्यक होने पर आवश्यकतानुसार एक पंक्ति को ऊपर या नीचे देखें। चूंकि दृश्य केवल पंक्ति सीमाओं पर स्थानांतरित हो गया है, इसलिए प्रदर्शन की तुलना में प्रदर्शन बहुत बेहतर था।

हालांकि, का उपयोग करके व्यक्तिगत UImageViews का पूल बनाने का एक बेहतर विकल्प होगा और उन्हें टाइल करें, UITableView के अनुसार टेबल तालिका देखेंगे।

एप्पल नमूना कोड जो scrollview सुइट नमूना परियोजना और स्क्रॉल के साथ डिजाइनिंग Apps का WWDC 2010

0

से दृश्य वीडियो एक शेल्फ की एक खींचे छवि का उपयोग नहीं क्यों और फिर पृष्ठभूमि के रूप में सेट में इस तकनीक को दिखाता है टेबलव्यू पर हर सेल के लिए?

संपादित करें:

AQGridView का मेरा ज्ञान सीमित है लेकिन जैसे आप प्रत्येक व्यक्ति 'ग्रिड टाइल' के लिए उपयोग हो सकता है लगता है।

पंक्ति प्रति तीन छवियों होने का प्रयास करें: - शेल्फ है कि पहले के अलावा सभी टाइल्स को लागू किया जाता के केंद्र भाग के लिए छवि - अपने शेल्फ के बाएं कोने को दिखाने के लिए छोड़ दिया सबसे ग्रिड टाइल के लिए छवि और अंतिम टाइल - आपके शेल्फ के दाहिने कोने को दिखाने के लिए दाएं सबसे ग्रिड टाइल के लिए छवि।

इसके अलावा, आपको शायद यह उल्लेख करना चाहिए कि आप अपने प्रश्न में AQGridView का उपयोग कर रहे हैं ताकि अन्य उपयोगकर्ता नहीं सोचेंगे कि आप UITableView का उपयोग कर रहे हैं।

+0

क्योंकि मैं ग्रिड कोशिकाओं [AQGridView] (https://github.com/AlanQuatermain/AQGridView) का उपयोग कर रहा हूं और पंक्तियां नहीं ... :( – denbec

3

मुझे छवि से UIView पृष्ठभूमि सेट करने और एक ही समय में अपना आकार बदलने की आवश्यकता है। क्या मैंने किया था:

  1. मेरे विचार आकार की सीमा के भीतर छवि निर्मित
  2. सेट दृश्य पृष्ठभूमि [UIColor colorWithPatternImage:(UIImage*)]

का उपयोग कर और यहाँ कोड है:

UIGraphicsBeginImageContext(self.followView.frame.size); 
[[UIImage imageNamed:@"background_content.png"] drawInRect:self.followView.bounds]; 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
UIColor *bgColor = [UIColor colorWithPatternImage:image]; 

[followView setBackgroundColor:bgColor]; 
बस जिज्ञासा से बाहर