2013-07-21 13 views
6

UICollectionViewのアニメーション化が終了したかどうかを判断する方法がわかりません。UICollectionViewレイアウトがアニメーション化を完了したときを確実に判断する方法

は、私は現在、ユーザーがアニメーション中の細胞を選択した場合しかし、私はいくつかの望ましくない動作を抱えている、アニメーションは偉大に見えるsetCollectionViewLayout:animated:

を使用して、2つのサブクラス化のフローレイアウトの間でアニメーション化UICollectionViewを持っています。

私はUICollectionViewDelegate方法collectionView:shouldSelectItemAtIndexPath:NOを返すことによって、セル「選択」を無視してで探しています - しかし - 私はコレクションビューが現在アニメーションされたかどうかを確認するために信頼性の高いテストを把握することはできません。

アイデア?

答えて

2

アニメーションキーがないことを確認してください。
BOOL isAnimating = myView.layer.animationKeys.count > 0

+1

ありがとうございます。興味深いことに、UICollectionViewではなく、アニメーション化されたセルのアニメーションキーを確認する必要がありました。これは、目に見えるセルによるアニメーションのチェックを繰り返すことを意味していました。最後のコード.. - (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath { NSArray * visibleCells = [self.myCollectionView visibleCells]; if(cell.layer.animationKeys.count> 0){ return NO; if(cell.layer.animationKeys.count> 0)の場合は、 for(UICollectionViewCell * visibleCellsのセル) } } return YES; } '(NB。QuartzCore.hをインポートして' layer'にアクセスする) –

関連する問題