ios 动画坑

转载自 :https://elliotsomething.github.io/2016/12/25/iOS-%E4%B9%8B-%E5%9D%91%E7%B3%BB%E5%88%97/#%E5%9D%91-2

坑:

UIView 动画的坑

很多系统的API中动画效果都会带有animation的参数,比如: - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;。这些APIanimation自带的动画都是transition动画,transition动画会另开一个动画线程,然后在主线程执行,这个时候如果你去进行UI操作,就会打断动画的执行,比如tableviewreloadData(可能会让动画卡顿)

另一种动画就是UIView的属性动画block,这种动画在主线程执行,不会被其他UI操作打断动画的执行

遇到的坑就是,下拉刷新的时候,使用的是系统自带的API- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; 如果数据比较复杂且tableviewreload比较频繁,就会导致animation动画很卡顿;

解决办法就是换成属性动画或者block动画;

动画的继承结构

CAAnimation{
    CAPropertyAnimation{
            CABasicAnimation{
                    CASpringAnimation
            }
            CAKeyframeAnimation
    }
    CATransition
    CAAnimationGroup
}

  
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值