मेरे पास एक संग्रह दृश्य है, और मैं उस प्रभाव के लिए जा रहा हूं जहां एक सेल टैप किया जाता है, यह पूरी स्क्रीन को उठाने के लिए बढ़ता है। इसे पूरा करने के लिए, मैं अनिवार्य रूप से performBatchUpdates
को didSelectItemAtIndexPath
के अंदर बुला रहा हूं, और sizeForItemAtIndexPath
किसी चयनित सेल के लिए एक बड़ा आकार वापस करने के बारे में जानता है। यह सब बहुत अच्छी तरह से काम करता है, सेल वांछित के रूप में बढ़ता है और shrinks।मैं अपने आकार को बदलने के दौरान संग्रह दृश्य कक्ष के आंतरिक दृश्यों को कैसे एनिमेट कर सकता हूं?
समस्या सेल के अंदर है। संग्रह दृश्य कक्ष बाधाओं द्वारा प्रबंधित एक मामूली जटिल दृश्य पदानुक्रम से बना है। मैं सेल के उप दृश्यों को एनिमेटिंग सेल के साथ बढ़ने और घटाने के लिए चाहता हूं। दुर्भाग्यवश, मेरे सबव्यूज़ तुरंत अपनी नई स्थिति में स्नैप कर रहे हैं क्योंकि सेल धीरे-धीरे अपने नए आकार में एनिमेट करता है। सेल सेल के साथ एनिमेट की सेल की सामग्री कैसे सुनिश्चित कर सकता हूं?
- (CGSize) collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
if ([collectionView.indexPathsForSelectedItems containsObject:indexPath])
return CGSizeMake(collectionView.bounds.size.width - 20, collectionView.bounds.size.height - (20 + [self.topLayoutGuide length]));
else
return CGSizeMake(260, 100);
}
- (void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView performBatchUpdates:nil completion:nil];
}
आपके सबव्यूस सबसे अधिक संभावना में स्नैप कर रहे हैं क्योंकि कुछ ध्वज जो सेल को विस्तारित करते हैं, झूठ से सच में स्विच किए जाते हैं, और फिर 'लेआउटस्यूब्यूव्यू' को बुलाया जाता है, जो तुरंत उप-दृश्यों को उनके विस्तारित पदों पर ले जाता है। मैं बस अनुमान लगा रहा हूं - अगर आप कोड जोड़ते हैं तो हम यह देखने में सक्षम होंगे कि क्या यह मामला है। एक और नोट पर - क्या सेल संग्रह में अन्य कोशिकाओं के शीर्ष पर विस्तारित होना चाहिए, या इसे रास्ते से बाहर धक्का देना चाहिए? यदि इसे शीर्ष पर विस्तार करना चाहिए, तो मैं UICollectionView के ऊपर एक नया दृश्य जोड़ने और उसे एनिमेट करने की अनुशंसा करता हूं। – Ian
मैंने दो प्रासंगिक विधियों को जोड़ा जो चयन पर आकार बदलते हैं। दृश्य नियंत्रक में बहुत कम कोड है। सेल स्वयं कुछ निब फाइलें हैं, कुछ भी नहीं जो मैं आसानी से पोस्ट में जोड़ सकता हूं। – Mike