संरक्षण नहीं मैंने देखा है कि जब एक UICollectionView
में setLayout:animated
बुला दो लेआउट के बीच स्विच करने के लिए, वर्तमान में दृश्यमान सेल zIndex
यह है लेआउट गुण layoutAttributesForItemAtIndexPath:
में स्थापित किया गया है का पालन नहीं करता।UICollectionView setLayout: एनिमेटेड: zindex
उदाहरण के लिए, अगर मैं एक UICollectionView
UICollectionViewFlowLayout
साथ के लिए गए थे, सेट यह एक नकारात्मक संख्या के लिए minimumLineSpacing
है, तो कोशिकाओं ओवरलैप और उसके बाद प्रत्येक कोशिका पिछले सेल की तुलना में अधिक पर एक zIndex
निर्धारित करते हैं, तो यह रूप में अगर प्रकट होता है कोशिकाओं को नीचे से ढेर कर रहे हैं।
हालांकि यदि मैं लेआउट को किसी अन्य लेआउट में सेट करता हूं तो उस मूल लेआउट पर वापस ले जाता है। ऐसा लगता है कि वर्तमान में दृश्यमान सेल zIndex नहीं सुनता है और अन्य कोशिकाओं के ऊपर रखा गया है। अगर मैं सेल ऑफस्क्रीन स्क्रॉल करता हूं तो उस पर वापस सही जगह पर है।
उत्तर के लिए धन्यवाद हालांकि मेरे पास आपके समाधान के साथ कोई भाग्य नहीं है। मुझे लगता है कि मुद्दा यह है कि UICollectionView चयनित सेल के zIndex के साथ कुछ करता है। मैं गलत हो सकता हूं लेकिन लेआउट बदलना '' प्रारंभिक LayoutAttributesForAppearingItemAtIndex'' को कॉल नहीं कर सकता है यदि सेल पहले से दिखाई दे रहा है और लेआउट परिवर्तन में दिखाई देता है। – sampage
मैंने अभी इसका एक त्वरित उदाहरण तैयार किया है और जेड-इंडेक्स के साथ मुद्दों को पुन: उत्पन्न करने में सक्षम था। यह मेरी समझ थी कि 'प्रारंभिक LayoutAttributesForAppearingItemAtIndex' को अमान्यता (एनिमेटेड सीमा परिवर्तन, बैच अपडेट ब्लॉक) के बाद स्क्रीन पर प्रत्येक आइटम के लिए बुलाया गया था, लेकिन दस्तावेज़ों को फिर से पढ़ने के बाद, यह उन वस्तुओं के लिए है जिन्हें एनिमेटिंग की आवश्यकता है। खुशी से हालांकि, मैं लेआउट स्विच करने के दौरान लेआउट को स्विच करते समय लेआउट को स्विच करते समय लगातार लेआउट स्विच कर रहा था 'लेआउट एट्रिब्यूट्सफोरइमेंट्स इनरक्ट:' लेआउट एट्रिब्यूट्सफॉरटैमएट इंडेक्सपैथ: ' –
@ एसएम्पेज क्या आप मुझे चयनित कोशिकाओं के जेड-इंडेक्स के बारे में और बता सकते हैं? मैं जो कह रहा हूं उसके बारे में कहीं भी सबूत नहीं मिल रहा है, लेकिन मुझे अपने एनिमेशन में कुछ असंगतताएं दिखाई देती हैं ... धन्यवाद! –