iOS CAReplicatorLayer

作者: 2d899c5242bd | 来源:发表于2016-02-01 12:58 被阅读132次
音频播放指示器

1.水平方向

        let r = CAReplicatorLayer()
        r.bounds = CGRectMake(0, 0, 60, 60)
        r.position = CGPointMake(view.center.x, view.center.y - 100)
        r.backgroundColor = UIColor.lightGrayColor().CGColor
        view.layer.addSublayer(r)
        
        let layer = CALayer()
        layer.bounds = CGRectMake(0, 0, 40, 8)
        layer.position = CGPoint(x: -15, y: 10)
        layer.backgroundColor = UIColor.redColor().CGColor
        layer.cornerRadius = 2
        r.addSublayer(layer)
        
        let animation = CABasicAnimation(keyPath: "position.x")
        animation.toValue = layer.position.x+35
        animation.duration = 0.5
        animation.autoreverses = true
        animation.repeatCount = Float.infinity
        
        layer.addAnimation(animation, forKey: nil)
        r.instanceCount = 3;
        r.instanceTransform = CATransform3DMakeTranslation(0, 20, 0)
        r.instanceDelay = 0.33
        r.masksToBounds = true
        r.backgroundColor = nil

2.垂直方向

        let r = CAReplicatorLayer()
        r.bounds = CGRect(x: 0.0, y: 0.0, width: 60.0, height: 60.0)
        r.position = view.center
        r.backgroundColor = UIColor.lightGrayColor().CGColor
        view.layer.addSublayer(r)
        
        let bar = CALayer()
        bar.bounds = CGRect(x: 0.0, y: 0.0, width: 8, height: 40.0)
        bar.position = CGPoint(x: 10.0, y: 75.0)
        bar.cornerRadius = 2.0
        bar.backgroundColor = UIColor.redColor().CGColor
        
        r.addSublayer(bar)
        
        let move = CABasicAnimation(keyPath: "position.y")
        move.toValue = bar.position.y-35.0
        move.duration = 0.5
        move.autoreverses = true
        move.repeatCount = Float.infinity
        
        bar.addAnimation(move, forKey: nil)
        
        r.instanceCount = 3
        r.instanceTransform = CATransform3DMakeTranslation(20.0, 0.0, 0.0)
        r.instanceDelay = 0.33
        r.masksToBounds = true
        r.backgroundColor = nil

相关文章

网友评论

    本文标题:iOS CAReplicatorLayer

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