iOS UICollectionView 包含gif動畫UIImageView消失bug

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;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容