美文网首页iOS动画技术
一个路径的动画

一个路径的动画

作者: 0诛仙0 | 来源:发表于2016-11-21 23:02 被阅读28次

- (void)viewDidLoad {

[super viewDidLoad];

self.automaticallyAdjustsScrollViewInsets = NO;

self.view.backgroundColor = [UIColor blackColor];

CAShapeLayer *shapeLayer = ({

CAShapeLayer *shapeLayer = [CAShapeLayer layer];

shapeLayer.path = [self path].CGPath;

shapeLayer.frame = CGRectMake(0, 0, 414, 300);

shapeLayer.fillColor = [UIColor clearColor].CGColor;

shapeLayer.strokeColor = [UIColor whiteColor].CGColor;

shapeLayer.lineWidth = 0.5f;

shapeLayer.opacity = 0.5f;

shapeLayer.position = self.view.center;

[shapeLayer setTransform:CATransform3DMakeScale(1, 1, 1)];

[self.view.layer addSublayer:shapeLayer];

shapeLayer;

});

CAShapeLayer *redLayer = ({

CAShapeLayer *redLayer = [CAShapeLayer layer];

redLayer.frame = CGRectMake(0, 0, 414, 300);

redLayer.path = [self path].CGPath;

redLayer.strokeEnd = 0.f;

redLayer.fillColor = [UIColor clearColor].CGColor;

redLayer.strokeColor = [UIColor redColor].CGColor;

redLayer.lineWidth = 2.f;

redLayer.position = self.view.center;

redLayer.shadowColor = [UIColor redColor].CGColor;

redLayer.shadowOpacity = 1.f;

redLayer.shadowRadius = 4.f;

redLayer.lineCap = kCALineCapRound;

[redLayer setTransform:CATransform3DMakeScale(1, 1, 1.f)];

[self.view.layer addSublayer:redLayer];

CABasicAnimation *aniStart = [CABasicAnimation animationWithKeyPath:@"strokeStart"];

aniStart.fromValue = @0;

aniStart.toValue = @0.98;

CABasicAnimation *aniEnd = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];

aniEnd.fromValue = @(0.02);

aniEnd.toValue = @(1);

CAAnimationGroup *group = [CAAnimationGroup animation];

group.duration = 4.f;

group.repeatCount = CGFLOAT_MAX;

group.autoreverses = YES;

group.animations = @[aniEnd,aniStart];

[redLayer addAnimation:group forKey:nil];

redLayer;

});

}

- (UIBezierPath *)path {

return  ({

UIBezierPath *bezierPath = [UIBezierPath bezierPath];

[bezierPath moveToPoint:CGPointMake(0, 150)];

[bezierPath addLineToPoint:CGPointMake(80,10)];

[bezierPath addLineToPoint:CGPointMake(150, 230)];

[bezierPath addLineToPoint:CGPointMake(300, 60)];

[bezierPath addLineToPoint:CGPointMake(400, 280)];

bezierPath;

});

}

相关文章

  • cocos creator动画编辑器编辑地图路径

    思路 1、利用动画编辑器,设置一个路径,多个路径就编辑多个动画 2、用特定的代码对动画进行处理,获取到路径坐标,大...

  • 一个路径的动画

    - (void)viewDidLoad { [super viewDidLoad]; self.automatic...

  • 路径动画

    自定义view -懒加载路径 -触摸方法 -移动手指把路径添加到path中 -开始绘制 -开始动画点击

  • 路径动画

    点击按钮开始 描绘上面的路径动画

  • UI设计师福利之零基础入门SVG路径动画

    先看一个动画效果,这种小飞机沿路径飞行(路径部分线段变成绿色是录屏软件出了问题)。 这种动画效果最常见于发送信息后...

  • 简单的路径动画

    前言 起因呢,是在X论坛看到一个动画,感了兴趣,大概讲的是一个自行车沿着路移动,路径大概是下图。 我下载了作者开源...

  • iOS路径动画创建

    //路径动画,三步曲 //1,创建路径path1, //2,创建视图view //3,创建关键帧动画animati...

  • 路径动画(波浪)

  • SVG 路径动画

    简单百搭普普通通平平无奇 SVG 路径动画优化网站效果, 如何实现一个 SVG 进度条动画以及虚线走马灯动画 我习...

  • 动画

    CABasicAnimation基础核心动画 缩放动画 图片抖动 根据圆形的路径做移动的效果. 转场动画 创建转场...

网友评论

    本文标题:一个路径的动画

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