【发布时间】:2021-06-21 12:30:13
【问题描述】:
我想在我的应用程序中创建这种设计(已添加图片)。我已经尝试使用复制器层创建它,但是如何管理这种模式中的不同颜色?
let replicatorLayer = CAReplicatorLayer()
replicatorLayer.frame.size = viewForReplicatorLayer.frame.size
replicatorLayer.masksToBounds = true
replicatorLayer.instanceColor = UIColor.red.cgColor
let radius = viewForReplicatorLayer.frame.size.width/2 - 30
let circum = 2 * CGFloat.pi * radius
let num = circum/10 + 21
let instanceCount = num//100//viewForReplicatorLayer.frame.width / image!.size.width
replicatorLayer.instanceCount = Int(instanceCount)//Int(ceil(instanceCount))
replicatorLayer.instanceDelay = 1.0
viewForReplicatorLayer.layer.addSublayer(replicatorLayer)
let layer = CALayer()
let x = viewForReplicatorLayer.bounds.midX
layer.frame = CGRect(x: x, y: 0, width: 3, height: 10)
layer.backgroundColor = UIColor.red.cgColor
replicatorLayer.addSublayer(layer)
let angle = Float.pi * 2 / Float(instanceCount)
replicatorLayer.instanceTransform = CATransform3DMakeRotation(CGFloat(angle), 0, 0, 1)
【问题讨论】:
标签: ios swift core-animation layer