今天看了一个例子,按照自己的思路用swift写了一个,跟大家分享下。执行完的结果如下(刚开始不知道怎么传动态图 - -!):
这个实现的效果是 每点击一下屏幕,就会出现一段随机颜色的圆环接着之前的圆环旋转
实现代码:
1.新建swift文件,继承于UIView,内容如下:
import UIKit
class CustomProgessView: UIView {
}
2.声明:声明所有的全局变量
//圆环线宽
let lineWidth = 50.0
//整个圆环完成所需时间
let duration:CGFloat = 5.0
//圆环是否全部完成
var circleComplete = false
//背景灰色圆环
var backgroundLayer: CAShapeLayer!
//所有圆环段的集合
var layerArray: [CAShapeLayer]!
override init(frame: CGRect) {
super.init(frame: frame)
initParam()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initParam()
}
func initParam() {
layerArray = Array()
addBackgroundCircle()
}
func addBackgroundCircle() {
backgroundLayer = CAShapeLayer()
backgroundLayer.fillColor = UIColor.clearColor().CGColor
backgroundLayer.strokeColor = UIColor.grayColor().CGColor
backgroundLayer.lineWidth = CGFloat(lineWidth)
layer.addSublayer(backgroundLa