【Objective-C】UICollectionView 取消隐式动画

如果UICollectionViewUICollectionViewCell中存在如下代码中的CALayer的动画,那么调用[[self collectionView] reloadData]UICollectionView加载UICollectionViewCell时会存在一个动画

- (void)layoutSubviews {
    [super layoutSubviews];
    
    self.coverImageView.frame = [self bounds];
}

效果如图:


每个图片有从左上角放大的动画

如果想取消这个加载的动画可以这样解决:

- (void)layoutSubviews {
    [super layoutSubviews];
    
    [CATransaction begin];
    [CATransaction setDisableActions:YES];
    
    self.coverImageView.frame = [self bounds];
    
    [CATransaction commit];
}

解决后的效果如图:


相比于上图没有放大的动画
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,141评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,572评论 6 30
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,479评论 2 4
  • 1.1 谈一谈GCD和NSOperation的区别? 首先二者都是多线程相关的概念,当然在使用中也是根据不同情境进...
    John_LS阅读 1,340评论 0 12
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,757评论 1 9