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

——周技术回顾

问题描述

用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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值