使用 UIBezierPath & CAShapeLayer 给一个View画一条从左下角到右上角的斜线:
func addALineForView() {
// 线的路径
let linePath = UIBezierPath()
//MARK: 动画
// 起点
linePath.move(to: CGPoint.init(x: 0, y: 22))
// 其他点
linePath.addLine(to: CGPoint.init(x: 50, y: 0))
//可以添加n多个点 可为折线,直线等
// linePath.addLine(to: CGPoint.init(x: 90, y: 70))
let lineLayer = CAShapeLayer()
lineLayer.lineWidth = 2
lineLayer.strokeColor = UIColor.red.cgColor
lineLayer.path = linePath.cgPath
lineLayer.fillColor = UIColor.clear.cgColor
//动画1
let animation = CABasicAnimation(keyPath: "strokeEnd")
animation.fromValue = 0
animation.toValue = 1
animation.duration = 1
lineLayer.add(animation, forKey: "")
view.layer.addSublayer(lineLayer)
}
参考:https://www.jianshu.com/p/173ebcaff3a6
网友评论