swift 旋转layer

  let width:CGFloat = SKScale(float: 60)

        let height:CGFloat = SKScale(float: 60)

 

        let animationView = UIView()

        animationView.bounds = CGRect(x: 0, y: 0, width: width, height: height)

        animationView.center = self.view.center

        self.view.addSubview(animationView)

        animationView.backgroundColor = UIColor.gray

        animationView.clipsToBounds = true

        

        let animationLayer = CAShapeLayer()

        animationLayer.backgroundColor = UIColor.hexColor(color: "616B82").cgColor

        animationLayer.bounds = CGRect(x: 0, y: 0, width: SKScale(float: 5.2 * 2), height: SKScale(float: 5.2 * 2))

        animationLayer.position = CGPoint(x: width/2, y: SKScale(float: 5.2 * 3))

        animationLayer.borderColor = UIColor.white.cgColor

        animationLayer.cornerRadius = SKScale(float: 5.2 * 2)/2

        animationLayer.borderWidth = 1

        animationLayer.transform = CATransform3DMakeScale(0.1, 0.1, 0.1)

        

        

        let transformAnim = CABasicAnimation(keyPath: "transform")

        transformAnim.duration = 0.8

        transformAnim.repeatCount = HUGE

        transformAnim.fromValue = NSValue.init(caTransform3D: CATransform3DMakeScale(1, 1, 1))

        transformAnim.toValue = NSValue.init(caTransform3D: CATransform3DMakeScale(0.1, 0.1, 0.1))

        

        

        

        animationLayer.add(transformAnim, forKey: nil)

        

        replicatorLayer = CAReplicatorLayer()

        

        replicatorLayer.backgroundColor = UIColor.yellow.cgColor

        

        replicatorLayer.frame = CGRect(x: 0, y: 0, width: width, height: height)

        replicatorLayer.addSublayer(animationLayer);

        replicatorLayer.instanceCount = 8

        replicatorLayer.instanceDelay = 0.1

        let angle = CGFloat(2*M_PI) / CGFloat(8)

        replicatorLayer.instanceTransform = CATransform3DMakeRotation(angle, 0, 0, 1.0)

        animationView.layer.addSublayer(replicatorLayer)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值