Swift — 给一个View画一条斜线

2020-10-10  本文已影响0人  土豆骑士
使用 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

上一篇下一篇

猜你喜欢

热点阅读