2013-07-21 27 views
6

animasyonu sona erdiğinde nasıl güvenilir bir şekilde belirlendiğimi, UICollectionView'in ne zaman bitip bitmediğini belirlemek için bir yol bulmakta zorlanıyorum.UICollectionView düzeninin

Şu anda bir kullanıcı animasyon sırasında bir hücreyi seçerse ancak, bazı istenmeyen davranış yaşıyorum, animasyon harika görünüyor setCollectionViewLayout:animated:

kullanarak iki sınıflandırma akış düzenleri arasında animasyon bir UICollectionView var.

Ben UICollectionViewDelegate yöntemle collectionView:shouldSelectItemAtIndexPath: aracılığıyla NO döndürerek hücreyi 'seçim' görmezden bakıyorum - ancak - Ben toplama görünümü şu anda animasyon olup olmadığını görmek için güvenilir bir testi çözemiyorum.

Herhangi bir fikrin var mı?

cevap

2

Hiçbir animasyon anahtarı olmadığından emin olun.
BOOL isAnimating = myView.layer.animationKeys.count > 0

+1

Teşekkürler - işe yaradı. İlginç bir şekilde, UICollectionView değil, animasyon hücreleri üzerindeki animasyon tuşlarını kontrol etmek zorunda kaldım. Bu, animasyonu kontrol eden görünür hücreler boyunca yinelemek anlamına geliyordu. Son kodum ... '- (BOOL) collectionView: (UICollectionView *) collectionView shouldSelectItemAtIndexPath: (NSIndexPath *) indexPath { NSArray * visibleCells = [self.myCollectionView visibleCells]; (visibleCells içinde UICollectionViewCell * hücresi) { (cell.layer.animationKeys.count> 0) { NO döndürür; } } return YES; } (NB. 'Layer' öğesine erişmek için QuartzCore.h içe aktarın) –