उपवर्ग अपने संग्रह को देखने सेल और इस पद्धति जोड़ें:
class YourCollectionViewCell: UICollectionViewCell {
//Some IBOutlets if needed
func popAfter(delay: NSTimeInterval){
transform = CGAffineTransformMakeScale(0, 0)
UIView.animateWithDuration(0.7, delay: delay, options: UIViewAnimationOptions.CurveEaseInOut, animations: {() -> Void in
self.transform = CGAffineTransformMakeScale(1, 1)
}, completion: nil)
}
}
सेट अपने संग्रह को देखने के delegate
और आपके विचार नियंत्रक से dataSource
(इस इंटरफ़ेस बिल्डर में किया जा सकता है)। कोशिकाओं चेतन करने के लिए अपने दृश्य नियंत्रक से स्थिरांक जोड़ें और फिर से लोड viewDidAppear
में संग्रह दृश्य:
class YourViewController{
private let numberOfCellsInLine = 3
private let numberOfVisibleCellsOnTheScreen = 12
private let baseDelay = 0.15
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
collectionView.reloadData()
}
}
UICollectionView डेटा स्रोत के लिए आपके विचार नियंत्रक से एक्सटेंशन जोड़ें & प्रतिनिधि:
extension YourViewController: UICollectionViewDataSource, UICollectionViewDelegateFlowLayout{
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int{
return numberOfCells
}
// The cell that is returned must be retrieved from a call to -dequeueReusableCellWithReuseIdentifier:forIndexPath:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell{
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("YourCellID", forIndexPath: indexPath) as YourCollectionViewCell
//set cell's content
let index = indexPath.row
let yIndex = index/numberOfCellsInLine
let delay = Double(index % numberOfCellsInLine + (index >= numberOfVisibleCellsOnTheScreen ? 0 : yIndex)) * baseDelay
cell.popAfter(delay)
return cell
}
}
आप baseDelay
और एनिमेशन की अवधि में समायोजित कर सकते हैं वांछित समय प्राप्त करने के लिए सेल का popAfter
मान। उम्मीद है कि यह आपके ऐप के साथ मदद करता है और शुभकामनाएं देता है! आप कोई भी प्रश्न पूछ सकते हैं।
स्रोत
2015-04-02 19:57:24
यह –
बचाया दरअसल, @ rdelmar का जवाब सही है, सवाल यह है कि "उस समय के फैशन में इस एनीमेशन को करने का सबसे अच्छा अभ्यास क्या होगा?" चिंतित है, लेकिन चूंकि आपका उद्घाटन वक्तव्य था, "मैं यूआईसीओलेक्शन व्यू का उपयोग करके आईओएस में एंड्रॉइड मैटेरियल डिज़ाइन पदानुक्रमित टाइमिंग द्वारा पेश की गई एनीमेशन करना चाहता हूं" उत्तर में कुछ बदलावों की आवश्यकता है। आप देखते हैं, पदानुक्रमित समय एनिमेशन एनीमेशन होता है, जो शीर्ष-बाएं कोने से शुरू होता है, नीचे-दाएं कोने पर समाप्त होता है, इसलिए इसे प्राप्त करने के लिए हम फ़्लोलाइट का उपयोग नहीं कर सकते हैं, फ्लोलाउटआउट कोशिकाओं को बाएं से दाएं और ऊपर से नीचे जोड़ता है। –
आपके उत्तर @rdelmar के लिए धन्यवाद। अब बक्षीस का पुरस्कार।यदि आपके पास मौका है तो मुझे अमित की टिप्पणी पर आपके विचार देखना अच्छा लगेगा। –