मैं टेबल सेल में इतनी सारी छवियां प्रदर्शित करना चाहता हूं। मैं एक छवि दिखाने के लिए दो तरीकों को जानता था।UIImageView और drawInRect के बीच क्या अंतर है?
एक UIImageView के लिए उदाहरण बनाकर और यह
CGRect rect=CGRectMake(x,y,width,height);
UIImageView *image=[[UIImageView alloc]initWithFrame:rect];
[image setImage:[UIImage imageNamed:@"sample.jpg"]];
एक अन्य विधि है दिखाने के है,
CGRect rect=CGRectMake(x,y,width,height);
[[UIImage imageNamed:@"sample.jpg"] drawInRect:rect];
अब, मेरे सवाल है, इन दोनों के बीच अंतर क्या है? कौन सा कुशल है? या कुछ और समारोह इस से बेहतर उपलब्ध है?
अग्रिम धन्यवाद ....
+1 के लिए धन्यवाद। मैं थोड़ी देर के लिए उन दोनों के बीच भेद के चारों ओर अपने सिर को पाने की कोशिश कर रहा हूं। तो 'UIImageView' हमेशा जाने का रास्ता है? क्या ऐसे मामले हैं जहां छवि को 'drawRect: '' सीधे आईएनजी बेहतर है? –
एकमात्र स्थिति जिसे मैं धीमा कर सकता हूं वह है जब कई छोटी छवियों से एक स्थिर पृष्ठभूमि दृश्य को कंपोजिट करना और फिर पृष्ठभूमि को बदलने के बिना इसके ऊपर सामग्री को एनिमेट करना। उस स्थिति में जीपीयू को शीर्ष पर चलती सामग्री और प्रत्येक फ्रेम के पूरे पृष्ठभूमि दृश्य को दोबारा जोड़ना होगा। यह निश्चित रूप से एक कोने का मामला है। – rpetrich
एक ऐसी स्थिति जहां '-ड्राउरक्ट:' एक लाभ है जब आप चिकनी स्क्रॉलिंग प्रदर्शन चाहते हैं और आपके पास पीएनजी हैं जिनमें पारदर्शिता है। पुराने हार्डवेयर पर, जीपीयू फ्रेम को छोड़ दिए बिना एक ही समय में पारदर्शी विचारों को स्क्रॉल करने में संभाल नहीं सकता है। इसके चारों ओर एक तरीका यह है कि आप अपने सभी कंपोजिटिंग को '-ड्राउरक्ट:' में करें, जो इस भारी जीपीयू काम को एक बार भारी CPU नौकरी में परिवर्तित करता है। ग्राफिक्स तीव्र तालिका दृश्य कक्षों में यह अपेक्षाकृत सामान्य परिदृश्य है, हालांकि यह तेजी से GPUs के कारण आईफोन 4 और आईपैड के साथ कोई समस्या नहीं है। –