美文网首页
ios隐性动画---移动某点到某点

ios隐性动画---移动某点到某点

作者: seventhboy | 来源:发表于2016-11-23 17:14 被阅读141次

//动画开始和结束都会有delegate回调,具体回调内容可以使用setvalue的方式带参过去!
//[animation setValue:@(index) forKey:@"AnimationViewIndex"];
//另外可以通过下面函数来画出想要的行动轨迹。
//CGPathMoveToPoint、CGPathAddLineToPoint、CGPathAddArc、CGPathAddRect'

//------------------------------------凌乱的分割线----------------------------------------
//如果你只是想简单的移动某点到某点的话,可以使用CABasicAnimation能更简单点

  • (CABasicAnimation *)getMoveAnimation:(CGPoint)tpoint fromPoint:(CGPoint)fpoint index:(int)index type:(NSString *)type {
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
    // 设定动画起始帧和结束帧
    animation.fromValue = [NSValue valueWithCGPoint:fpoint]; // 起始点
    animation.toValue = [NSValue valueWithCGPoint:tpoint]; // 终点
    animation.fillMode = kCAFillModeForwards;
    animation.removedOnCompletion = NO;
    animation.repeatCount = 0;
    animation.delegate = self;
    [animation setValue:@(index) forKey:@"AnimationViewIndex"];
    [animation setValue:type forKey:@"AnimationKeyType"];

    float d = sqrtf ((fpoint.x-tpoint.x)(fpoint.x-tpoint.x)+(fpoint.y-tpoint.y)(fpoint.y-tpoint.y));
    animation.duration = d/500;
    return animation;
    }
    //速度控制函数(CAMediaTimingFunction)
    //1> kCAMediaTimingFunctionLinear(线性):匀速,给你一个相对静态的感觉
    //2> kCAMediaTimingFunctionEaseIn(渐进):动画缓慢进入,然后加速离开
    //3> kCAMediaTimingFunctionEaseOut(渐出):动画全速进入,然后减速的到达目的地
    //4> kCAMediaTimingFunctionEaseInEaseOut(渐进渐出):动画缓慢的进入,中间加速,然后减速的到达目的地。

//移动简单的移动外还有启动的动画,只需要修改keyPath值就行
//@"position":位置移动
//@"transform.scale":缩放
//@"transform.rotation.x":x轴旋转
//@"transform.rotation.y":y轴旋转
//@"transform.rotation.z":z轴旋转
//默认以layer中心为圆心,可以通过下面方式修改
//[yourView.layer setAnchorPoint:CGPointMake(0.5, 0.5)];

//组合动画
//
///* 动画组 */
//CAAnimationGroup *group = [CAAnimationGroup animation];
//group.delegate = self;
//group.duration = 5.0;
//group.repeatCount = 1;
//
//// 动画结束后不变回初始状态
//group.removedOnCompletion = NO;
//group.fillMode = kCAFillModeForwards;
//
//// 添加动画
//group.animations = [NSArray arrayWithObjects:animation1, animation2, nil];
//[imageView.layer addAnimation:group forKey:@"move-rotate-layer"];

相关文章

  • ios隐性动画---移动某点到某点

    //动画开始和结束都会有delegate回调,具体回调内容可以使用setvalue的方式带参过去!//[anima...

  • iOS 围绕某点转动(锚点)动画

    开发中有这样的需求: 这是围绕右下角转动的动画 1.点击按钮围绕锚点转动: 效果如下: 2.发现改变了锚点,fra...

  • ios隐性动画

    类CAKeyframeAnimation->CAPropertyAnimation->CAAnimation 继承...

  • 某 某 某

    当你在心里 默念自己的名字 你是否会产生一种 陌生和厌烦 如果答案肯定 那么,你也许 和我一样,正在 遭受生活的折...

  • iOS 动画

    一、动画基本知识 1. iOS动画(或者所有动画)的原理简单来讲有两种,是哪两种? ① 告诉系统动画对象在某几个时...

  • iOS动画不响应点击的问题

    iOS动画分为显性动画和隐性动画两种。 显示动画动画分为几类:基础动画、关键帧动画、动画组、转场动画。各个类的关系...

  • 某点现象

    起初我觉得在备考期间萌生的其他想法都需要经历时间的考验。这种考验就是,在一段时间后它仍然持续着“需要被执行下去”的...

  • 某点相遇

    近段时间非常忙,但只有那个我知道,在忙的背后是凌乱和迷茫。年终岁尾要对自己所从事的工作进行总结、梳理、反思,为明年...

  • 2021年51周

    一,记录 8点到公司,了解某单位基本问题,然后做好本周工作安排。 9点多开始开会,10点多结束后,推结算,协调某单...

  • 熬夜『攻略』

    说到健康睡眠,我们很多人都不符合要求。国内某移动社交平台通过大数据分析发现,不少人已经熬夜成了习惯。 0点到1点期...

网友评论

      本文标题:ios隐性动画---移动某点到某点

      本文链接:https://www.haomeiwen.com/subject/fyyvpttx.html