UICollectionView中放置imageView各種操作并不會導(dǎo)致什么問題, 但是這個imageView如果是animation的效果, 那么就會詭異的消失, 不知道是否算bug, 這時候需要給imageView和collectionView分別配置
修復(fù)方式
imageView 配置
//在uiimageview的內(nèi)部設(shè)置高亮動畫內(nèi)容, 可以設(shè)置為默認(rèn)相同的images地址
[self setHighlightedAnimationImages:images];
collectionView 配置
//沒錯, 就是在選中, 取消選中, 高亮, 取消高亮下都讓cell的動畫再開始播放
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
CustomCell * cell = (CustomCell *)[collectionView cellForItemAtIndexPath:indexPath];
if(cell){
[cell.imageView startAnimating];
}
}
-(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath{
CustomCell * cell = (CustomCell *)[collectionView cellForItemAtIndexPath:indexPath];
if(cell){
[cell.imageView startAnimating];
}
}
-(void)collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{
CustomCell * cell = (CustomCell *)[collectionView cellForItemAtIndexPath:indexPath];
if(cell){
[cell.imageView startAnimating];
}
}
-(void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath{
CustomCell * cell = (CustomCell *)[collectionView cellForItemAtIndexPath:indexPath];
if(cell){
[cell.imageView startAnimating];
}
}
屏蔽方式
可以將collectionView的cell交互禁掉
layerCollection.allowsSelection = false;