zoukankan      html  css  js  c++  java
  • 核心动画的使用

    1、活动指示器

    • 1.1 创建活动指示器

      @property (nonatomic, strong) UIView *activityIndicatorView;
      
      self.activityIndicatorView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)];
      self.activityIndicatorView.backgroundColor = [UIColor redColor];
      [self.view addSubview:self.activityIndicatorView];
      
      // 创建复制图层
      CAReplicatorLayer *repLayer = [CAReplicatorLayer layer];                    // 可以把图层里面所有子层复制
      repLayer.frame = self.activityIndicatorView.bounds;
      [self.activityIndicatorView.layer addSublayer:repLayer];
      
      // 创建指示器图层
      CALayer *layer = [CALayer layer];
      layer.transform = CATransform3DMakeScale(0, 0, 0);
      layer.position = CGPointMake(self.activityIndicatorView.bounds.size.width / 2, 20);
      layer.bounds = CGRectMake(0, 0, 10, 10);
      layer.backgroundColor = [UIColor greenColor].CGColor;
      [repLayer addSublayer:layer];
      
      // 设置缩放动画
      CGFloat duration = 1.0;
      CABasicAnimation *anim = [CABasicAnimation animation];
      anim.keyPath = @"transform.scale";
      anim.fromValue = @1;
      anim.toValue = @0;
      anim.duration = duration;
      anim.repeatCount = MAXFLOAT;
      [layer addAnimation:anim forKey:nil];
      
      // 设置复制层中子层
      CGFloat count = 20;
      CGFloat angle = M_PI * 2 / count;
      repLayer.instanceCount = count;                                             // 设置复制层里面有多少个子层,包括原始层
      repLayer.instanceTransform = CATransform3DMakeRotation(angle, 0, 0, 1);     // 设置复制子层偏移量,不包括原始层,相对于原始层 x 偏移
      repLayer.instanceDelay = duration / count;                                  // 设置复制层动画延迟时间
      
    • 1.2 效果

  • 相关阅读:
    Laravel 中使用 Redis 数据库
    PHP 安装 phpredis 扩展(二)
    Redis 安装(一)
    macOS 中使用 phpize 动态添加 PHP 扩展的错误解决方法
    macOS 中的 Rootless 机制
    Homebrew
    macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)
    常系数齐次线性递推
    任意模数FFT
    猫树总结
  • 原文地址:https://www.cnblogs.com/CH520/p/9480746.html
Copyright © 2011-2022 走看看