2010-04-07 23 views
5

यह वास्तव में एक सवाल है क्योंकि मैं सिर्फ समस्या हल नहीं है, लेकिन मुझे लगता है कि समस्या की प्रकृति कई iPhone devs के लिए आम है और समाधान वास्तव में स्पष्ट रूप से स्पष्ट तो मैं करना चाहता था नहीं था मेरा अनुभव साझा करें। स्टैक ओवरव्लो "प्रश्न/उत्तर" प्रारूप के साथ रखने के लिए, मैं विवरण में प्रश्न और मेरे समाधान में जवाब देने जा रहा हूं।UITableView स्क्रॉल प्रदर्शन मुखौटा

विवरण:

मैं एक tableview दो लेबल और एक कस्टम टॉगल स्विच नियंत्रण मैं खरोंच से एक साथ रखा के साथ कोशिकाओं से भरा था। अगर मैंने टॉगल नियंत्रण छुपाया है, तो टेबलव्यू एक चैंप की तरह स्क्रॉल किया गया है। हालांकि, टॉगल नियंत्रण दिखाए जाने के साथ, स्क्रॉलिंग आईफोन 3 जी पर दर्दनाक रूप से चंचल/धीमी थी। मेरे टेबलव्यू कोशिकाओं में कोई पारदर्शी घटक नहीं है (परत के लिए मुखौटा के अलावा) और मैं कोशिकाओं का पुन: उपयोग कर रहा हूं। , एक UIImageView कि टॉगल और एक लम्बी अंडाकार कि मुखौटा के रूप में प्रयोग किया जाता है की रपट "स्विच" हिस्सा रखने वाले एक पृष्ठभूमि -drawRect: में परत के पीछे खींचा साथ -

कस्टम टॉगल नियंत्रण UIButton और यह की परत का विस्तार दो घटक होते हैं ।

मैंने इसे कैसे ठीक किया? शीघ्र ही आने वाले उत्तर ...

उत्तर

6

मुझे पता चला है कि सुस्ती/choppiness के स्रोत फिर से समग्र के लिए मुखौटा उप-परत के साथ परत स्क्रॉल पर होने से आ रहा था। मुझे लगता है कि स्क्रीन को फिर से तैयार किए जाने पर हर बार टॉगल स्विच को फिर से खींचना पड़ता था।

मेरे समाधान जब तक यह राज्य बदल रहा है टॉगल स्विच परत/मुखौटा छिपाने के लिए है। जब यह चालू या बंद स्थितियों में पूरी तरह से बैठा होता है, तो मैं टॉगल स्विच परत को छुपाता हूं और इसे टॉगल स्विच की छवि के साथ बदल देता हूं। जब उपयोगकर्ता टॉगल को छूता है, तो डमी छवि छिप जाती है, वास्तविक टॉगलविच घटक दिखाता है और विपरीत स्थिति के लिए एनीमेशन करता है। जब एनीमेशन खत्म हो जाता है, तो मैं टॉगल स्विच घटक को छुपाता हूं और डमी छवि दिखाता हूं, जिससे छवि को वर्तमान स्थिति में बदलना सुनिश्चित हो जाता है। यह बेहतर स्क्रॉलिंग प्रदर्शन स्पष्ट रूप से ... मैं कहता हूं कि यह देशी मूल तालिकादृश्य कक्ष के रूप में लगभग उतना ही अच्छा है।

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