क्या किसी ने इस समस्या का एक सभ्य उत्तर देखा है?प्रारंभिक LayoutAttributesForAppearingItemAtIndexPath सभी दृश्यमान कोशिकाओं के लिए निकाल दिया गया, न केवल कक्ष डाला
initialLayoutAttributesForAppearingItemAtIndexPath
सभी दृश्यमान कोशिकाओं के लिए बुलाया जा रहा है, न केवल सेल डाला जा रहा है। Apple's own docs के अनुसार:
स्थानांतरित वस्तुओं के लिए, संग्रह दृश्य आइटम के अद्यतन लेआउट विशेषताओं को पुनर्प्राप्त करने के लिए मानक विधियों का उपयोग करता है। आइटम नहीं डाला गया या हटाया जा रहा है के लिए, संग्रह दृश्य कॉल कुछ अलग अलग तरीकों, जो आपको उचित लेआउट जानकारी
कौन क्या हो रहा है की तरह ध्वनि नहीं करता है प्रदान करने के लिए ओवरराइड करना चाहिए ... अन्य कोशिकाओं नहीं किया जा रहा है डाला गया, उन्हें स्थानांतरित किया जा रहा है, लेकिन को स्थानांतरित करने के लिए initialLayoutAttributesForAppearingItemAtIndexPath
पर कॉल कर रहा है।
मैंने prepareForCollectionViewUpdates:
का उपयोग करके पता लगाया है कि कौन सा इंडेक्सपैथ अपडेट किया जा रहा है और केवल उन्हें बदल रहा है, लेकिन यह थोड़ा विचित्र लगता है कि यह अपने स्वयं के दस्तावेज़ों को फिर से चला रहा है। क्या किसी और को इसके चारों ओर एक बेहतर तरीका मिला है?
मुझे समझने में कठिनाई आ रही है यह भी। जब भी मैं संग्रह दृश्य में परिवर्तन करता हूं, तब सभी दृश्यमान कोशिकाओं को फिर से लोड किया जा रहा है, और यह स्पष्ट नहीं है कि इससे कैसे बचें। जब उपयोगकर्ता एक सेक्शन में सेल को टैप करता है, तो टैप किए गए सेल में बदलाव को एनिमेट करते समय मैं दूसरे सेक्शन को पुनः लोड करता हूं। रीलोड मेरे एनिमेशन में बाधा डाल रहा है, और मुझे इसके आसपास काम करने का कोई तरीका नहीं मिल रहा है। – CharlieMezak