美文网首页
【iOS】UIImageView点击屏幕,帧动画和图片消失

【iOS】UIImageView点击屏幕,帧动画和图片消失

作者: Nalevy_d314 | 来源:发表于2020-09-21 15:29 被阅读0次

——周技术回顾

问题描述

用UIImageView做序列帧的时候,点击屏幕突然发现帧动画和图片消失了,在其他场景是没问题的,看了视图层级结构,UIImageView依然存在,只是帧动画和图片消失,经过学习研究发现是因为UIImageView传递的响应链中如果有UITableView或者UICollectionView等控件的时候,点击界面,动画和图片就会消失。

导致这个问题的原因是因为我们做动画的时候只是单纯的给UIImageView设置图片数组,并没有设置它的hightlight状态,如果点击界面,响应链中的tableView或collectionView就会设置自己的hightlight状态,这就导致了UIImageView图片隐藏,视觉上动画和图片消失的问题。

问题解决

我解决这个问题的做法是重写UIImageview的setHighlighted方法,设置其状态为YES,这样点击界面动画和图片就不会消失了。

其实还有一个方案就是重写UICollectionView的shouldHighlightItemAtIndexPath方法返回NO,取消collectionView的hightlight状态。

-(BOOL)collectionView:(UICollectionView*)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath*)indexPath {
return NO;
}

相关文章

网友评论

      本文标题:【iOS】UIImageView点击屏幕,帧动画和图片消失

      本文链接:https://www.haomeiwen.com/subject/esvvyktx.html