BasicAnimation

1、位移动画

CABasicAnimation *ani = [CABasicAnimation animation];
    ani.keyPath = @"position.x";
    ani.fromValue = @77;
    ani.toValue = @455;
    ani.duration = 1;
    
    ani.fillMode = kCAFillModeForwards;
//    ani.removedOnCompletion = NO;

    [img1.layer addAnimation:ani forKey:@"basic"];
    img1.layer.position = CGPointMake(300, 61);

    ani.beginTime = CACurrentMediaTime() + 1.0;
    [self.img2.layer addAnimation:ani forKey:@"basic"];
    self.img2.layer.position = CGPointMake(300, 120);

2、抖动(输入框)

CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
    animation.keyPath = @"position.x";
    animation.values = @[@0, @10, @-10, @10, @0];
    animation.keyTimes = @[@0, @(1/6.0), @(3/6.0), @(5/6.0), @1];
    animation.duration = 0.4;
    animation.additive = YES;
    [self.tf1.layer addAnimation:animation forKey:@"shake"];

3、简单KeyframeAnimation旋转

CALayer *layer1 = [CALayer layer];
    layer1.backgroundColor = [UIColor brownColor].CGColor;
    layer1.frame = CGRectMake(50, 200, 50, 50);
    [self.view.layer addSublayer:layer1];
    
    CGRect boundingRect = CGRectMake(-150, -150, 300, 300);
    CAKeyframeAnimation *orbit = [CAKeyframeAnimation animation];
    orbit.keyPath = @"position";
    orbit.path = CFAutorelease(CGPathCreateWithEllipseInRect(boundingRect, NULL));
    orbit.duration = 4;
    orbit.additive = YES;
    orbit.repeatCount = HUGE_VALF;
    orbit.calculationMode = kCAAnimationPaced;
    orbit.rotationMode = kCAAnimationRotateAuto;
    
    [layer1 addAnimation:orbit forKey:@"orbit"];

4、Transition

按钮
sender.selected = !sender.selected;
    
    if (sender.selected) {
        [UIView animateWithDuration:2.0 animations:^{
            [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.img3 cache:YES];
            [self.img3 setImage:[UIImage imageNamed:@"MYR"]];
        }];
    } else {
        [UIView animateWithDuration:2.0 animations:^{
            [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.img3 cache:YES];
            [self.img3 setImage:[UIImage imageNamed:@"image1"]];
        }];
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,054评论 3 119
  • 信躺在信箱里 有三分二十三秒 她的身躯 在脑海中存在了 一百四十八天 每一个字都被嚼烂 她的身躯 是有五千米 她体...
    土豆与土阅读 1,517评论 0 1
  • 从前有一个村子,叫大话村,因为这里的每一个村民都爱说大话。 其实大家不知道的是,这个村子的人其实是有一种天赋,就是...
    鱼遥远阅读 3,188评论 0 0
  • 离上班没有几天了,春节懒散生活即将结束,为了刺激自己,戳醒自己,我毅然决然地上了称。称上的数字还不至于雷击掉我,果...
    啾啾fing阅读 1,378评论 0 0
  • 珍爱网成功率高吗?珍爱网VIP会员都疯了。对于任何一个将婚恋目标诉诸于珍爱网的VIP会员都非常关注这个问题,即便是...
    172362li阅读 10,004评论 0 0

友情链接更多精彩内容