Sto provando a creare un UICollectionView in cui UICollectionViewCell viene ridimensionato quando "si lascia" l'area visibile nella parte superiore o inferiore. E viene ridimensionato alle dimensioni normali mentre "entra" nell'area visibile.UICollectionViewCell cambia la dimensione della cella durante lo scorrimento
Ho provato qualche codice di scala/animazione in: scrollViewDidScroll()
, ma non riesco a farlo bene.
La mia funzione completa è simile al seguente:
func scrollViewDidScroll(scrollView: UIScrollView) {
var arr = colView.indexPathsForVisibleItems()
for indexPath in arr{
var cell = colView.cellForItemAtIndexPath(indexPath as! NSIndexPath)!
var pos = colView.convertRect(cell.frame, toView: self.view)
if pos.origin.y < 50 && pos.origin.y >= 0{
cell.hidden = false
UIView.animateWithDuration(0.5, animations: {() -> Void in
cell.transform = CGAffineTransformMakeScale(0.02 * pos.origin.y, 0.02 * pos.origin.y)
})
}else if pos.origin.y == 50{
UIView.animateWithDuration(0.5, animations: {() -> Void in
cell.transform = CGAffineTransformMakeScale(1, 1)
})
}
}
}
E 'questo, in qualche modo l'approccio giusto, o c'è un altro modo migliore?
Cerca in iCarousel. È una grande libreria che supporta l'effetto che penso tu stia cercando. – Tobias
Grazie Tobias, vado a dare un'occhiata subito! – Kvarken
Sei riuscito a farlo funzionare? –