2011-04-14 11 views
7

मैं अपने डेटा को आईपैड पर ग्रिड में प्रदर्शित करने के लिए AQGridView का उपयोग कर रहा हूं। प्रत्येक सेल UIView सबक्लास है और आमतौर पर, 18 कोशिकाएं एक साथ प्रदर्शित होती हैं।UIView: प्रदर्शन समस्याओं के बिना गोल कोनों

मैं इन कोशिकाओं को एक गोल कोने में जोड़ना चाहते हैं, तो मैं प्रासंगिक परतों के cornerRadius संपत्ति (अर्थात मुख्य UIView की परत और एक subview की) की स्थापना की। हालांकि, यह प्रदर्शन के मुद्दों में परिणाम देता है और स्क्रॉलिंग अब और आसान नहीं है। अन्य CALayer गुणों का उपयोग करते समय, जैसे shadowOpacity, ऐसा नहीं होता है।

क्या गोलाकार कोने जोड़ने के लिए कोई अन्य तरीका है (छवि का उपयोग करने के अलावा)? या मुझ से कुछ गलत हो रहा है?

उत्तर

27

मैंने एक दृश्य की परत पर कोनेराइडियस का उपयोग करते समय एक प्रमुख प्रदर्शन हिट देखा, जिसमें UIImageView सबव्यू शामिल था। रास्टरराइजेशन ने हल किया कि समस्या: view.layer.shouldRasterize = YES;

+2

आपने सचमुच मुझे अपना समय बचा लिया! :) –

+0

मैंने इसे सफलतापूर्वक पहले सफलतापूर्वक उपयोग किया है। हालांकि, पूरे दृश्य पर कोनों को गोलाकार करने से पूरे दृश्य की गुणवत्ता में कुछ गिरावट आती है: https://skitch.com/franklinwebber/8q8c2/ios-simulator – burtlo

+18

हालांकि, मुझे पता चला कि यह मुद्दा बहुत कम पर रास्टरराइजेशन किया जा रहा था एक संकल्प के और इस मुद्दे को 'myView.layer.rasterizationScale = [[यूआईस्क्रीन मुख्यस्क्रीन] पैमाने] हल किया; ' – burtlo

0

यह हो सकता है कि आप सेटकॉर्नर रेडियस कॉल कहां रख रहे हों। सुनिश्चित करें कि यह कहीं कहीं है जिसे केवल एक बार बुलाया जाता है, उदाहरण के लिए, drawRect विधि में नहीं।

+0

यह 'init' विधि में है, इसलिए मुझे लगता है कि यह कोई समस्या नहीं है। – fabian789

+1

एक आम समस्या प्रतीत होती है, http://stackoverflow.com/questions/4735623/uilabel-layer-cornerradius-negatively-impacting-performance – picciano

+0

देखें I मैं तब एक छवि बनाने जा रहा हूँ। क्या आप अपनी टिप्पणी को उत्तर में बदल सकते हैं ताकि मैं इसे स्वीकार कर सकूं? – fabian789

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