简单的滑动解锁动画

效果:

源码很简单,直接上代码:

    // gradientLayer
    CAGradientLayer *gradientLayer = [CAGradientLayer layer];
    gradientLayer.frame = CGRectMake(0, 0, self.view.width, 68);
    gradientLayer.position = self.view.center;
    gradientLayer.colors = @[(__bridge id)[UIColor blackColor].CGColor,
                                (__bridge id)[UIColor whiteColor].CGColor,
                                (__bridge id)[UIColor blackColor].CGColor];
    gradientLayer.locations = @[@0.25,@0.5,@0.75];
    gradientLayer.startPoint = CGPointMake(0, 0);
    gradientLayer.endPoint = CGPointMake(1, 0);
    [self.view.layer addSublayer:gradientLayer];
    
    // unlockLabel
    self.unlockLabel = [[UILabel alloc] initWithFrame:gradientLayer.bounds];
    _unlockLabel.textAlignment = NSTextAlignmentCenter;
    _unlockLabel.text = @"滑动来解锁 >>";
    _unlockLabel.font = [UIFont boldSystemFontOfSize:28];
    _unlockLabel.textColor = [UIColor colorWithWhite:0 alpha:0.8];
    gradientLayer.mask = _unlockLabel.layer;
    
    // animation
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"locations"];
    animation.fromValue = @[@0,@0,@0.25];
    animation.toValue = @[@0.75,@1,@1];
    animation.repeatCount = MAXFLOAT;
    animation.duration = 2.5f;
    [gradientLayer addAnimation:animation forKey:nil];

源码已经放在GitHubhttps://github.com/Fendouzhe/LRAnimations,有兴趣的欢迎下载查看,有帮助可以star,谢谢!

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

推荐阅读更多精彩内容

  • 请允许我借鉴前辈们的东西~~~~ 感激不尽~~~~~ 以下为Android 框架排行榜 么么哒~ Android...
    嗯_新阅读 6,696评论 3 32
  • 阴天的咖啡,喝着特别的孤独。不是身边缺少亲朋好友,而是来自情感上的孤独。人每天都音影环绕,接触很多的人和事,情感上...
    岚岚的悠哉悠哉阅读 1,183评论 0 0
  • 春节期间几乎很少出门,所以那个时候理所当然没有多少摄影素材咯。由于太久没有出门拍摄了,我那颗“热爱”摄影的心已经躁...
    吾性本默阅读 3,961评论 8 4
  • 在4月18日师训的课堂上,大兵老师用一个《赢在执行》的故事引发了大家的思考,具体提出了以下三个问题。 ...
    东篱南阅读 4,039评论 1 2
  • 在知名景点游玩,经常会碰到摄影大师。他们大多留着长发,头戴摄影帽,身穿摄影马夹,肩背摄影包,胸挂全幅单反(...
    戴军军阅读 3,514评论 0 4