核心动画与UIView自带动画选择

  • 什么时候使用核心动画
    • 只要不需要与用户交互,就可以使用核心动画,
    • 核心动画使用最多的场景:一般在转场的时候使用核心动画,核心动画包装的转场动画很强大,其实转场动画真实改变了值.
    CABasicAnimation *anim = [CABasicAnimation animation];
    
    anim.keyPath = @"position";
    
    anim.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 500)];
    
    // 必须设置代理
    anim.delegate = self;
    
    // 取消反弹
    anim.removedOnCompletion = NO;
    anim.fillMode = kCAFillModeForwards;
    
    [_redView.layer addAnimation:anim forKey:nil];

  • 监听动画结束:实现代理方法
// 当动画完成的时候调用
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
    // 注意:核心动画一切都是假象,并不会真实修改layer的属性
    NSLog(@"%@", NSStringFromCGPoint(_redView.layer.position));
}

使用UIView动画

  • 如果需要与用户交互,使用UIView动画
  • 例子:UIView动画
[UIView animateWithDuration:0.25 animations:^{
       
        _redView.layer.position = CGPointMake(250, 500);
        
    } completion:^(BOOL finished) {
        NSLog(@"%@", NSStringFromCGPoint(_redView.layer.position));

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

推荐阅读更多精彩内容

  • 在iOS实际开发中常用的动画无非是以下四种:UIView动画,核心动画,帧动画,自定义转场动画。 1.UIView...
    请叫我周小帅阅读 3,169评论 1 23
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,148评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,585评论 6 30
  • 一、UIKit动画 第一种写法是利用属性,结合beginAnimations、commitAnimations 第...
    Gary_Tseng阅读 982评论 1 3
  • 今天看到这句话的时候,很有感悟,想说自己深有体会。拒绝悲伤,当我们远离悲伤,将悲伤隔离于自我的时候,慢慢的我...
    时_6d58阅读 585评论 0 0