美文网首页iOS开发
iOS开发中的核心动画

iOS开发中的核心动画

作者: MM面包 | 来源:发表于2018-04-09 18:09 被阅读18次

    一直就很痴迷与app中的动画效果,适当的运用动画效果,可以使我们的app看起来更炫酷,所以闲来无事,就做了一个视图加载中的小demo,往后还会一点点制作更强大更炫酷的动画效果,我们一起加油吧。顺便给大家推荐几个很好的开源的动画库:

    ·lottie by Airbnb,自从有了这个开源库,简直节省了开发人员相当一部分的时间,因为运用AE制作的动画效果,可以导出JSON格式,然后运用Lottie就可以轻松的完成酷炫的动画效果,值得一用,很棒。

    ·IBAnimatable ib类的交互,不用写代码,就可以完成动画效果

    ·Spring 

    网上找的视频转gif的工具,效果有点low,但其实,真是实际运行是木有那个黑色框框的,所以不要看到边框就走了啊,哈哈哈。写的也很简单,相信大家,一看就懂,喜欢的不喜欢的都请大家留言,多多交流,相互学习,共同进步,为了我们远大的前程!!最近电视剧看的有点多了啊,话不多说,先来个效果图吧。

    效果图

    所用到的知识点:

    ·CALayer、CAShapeLayer、CAGradientLayer三种layer。

    ·UIBeizerPath的使用,这里只是简单的画一个圆,并未用到,二次,三次贝塞尔曲线,所以很容易理解

    ·CAKeyframeAnimation 关键帧动画

    首先拿到动画效果的时候,不要怕,即使你真的很怕,哈哈,但是气势不能输,但是首先一层一层一步一步的分析,其实并没有想象中的那么难。

    颜色渐变

    1.CAGradientLayer:很容易实现上图按钮的渐变效果,核心代码

    CAGradientLayer *layer = [[CAGradientLayer alloc] init];

    layer.frame = self.bounds;

    layer.colors = arr;

    layer.startPoint = CGPointMake(0, 1);

    layer.endPoint = CGPointMake(0, 0);

    [self.layer addSublayer:layer];

    2.CAShapeLayer:指定小圆点的位置

    CAShapeLayer *dotlayer = [[CAShapeLayer alloc] init];

    dotlayer.frame = CGRectMake( DOT_WIDTH*index, 3, DOT_WIDTH, DOT_HEIGHT);

    3.UIBezierPath:在指定位置绘制会小圆圈

    UIBezierPath *dotPath = [UIBezierPath bezierPathWithArcCenter:CGPointMake(R, R) radius:R startAngle:M_PI_2 endAngle:2.5*M_PI clockwise:true];

    dotlayer.path = dotPath.CGPath;

    dotlayer.fillColor = self.dotColor.CGColor;

    4.CAKeyframeAnimation:给layer添加动画

    CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];

    animation.values =@[@(0),@(0.25),@(0.5), @(0.75),@(0.9),@(1),@(0.9),@(0.75),@(0.5),@(0.25),@(0)]; animation.duration = 1.35;

    animation.beginTime = CACurrentMediaTime() + 0.2*index;

    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; animation.repeatCount = MAXFLOAT;

    好了,先到这里吧,后期再补充更多关于核心动画的知识。敬请期待。。。。。

    相关文章

      网友评论

        本文标题:iOS开发中的核心动画

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