美文网首页
Swift4 画一个三角形

Swift4 画一个三角形

作者: 稀客花千树 | 来源:发表于2018-10-23 10:59 被阅读0次

记录一下纯代码画一个三角形import UIKit

class triangleView:UIView{

    private lazy var linePath : UIBezierPath = UIBezierPath()

    private lazy var lineShape : CAShapeLayer = CAShapeLayer()

    private lazy var firstPoint :CGPoint=CGPoint()

    private lazy var secondPoint :CGPoint=CGPoint()

    private lazy var thirdPoint :CGPoint=CGPoint()

    override init(frame:CGRect) {

        super.init(frame: frame)

    }

    override func layoutSubviews() {

        super.layoutSubviews()

        linePath.move(to: firstPoint)//起点

        linePath.addLine(to: secondPoint)//第二个点

        linePath.addLine(to: thirdPoint)//第三个点

        linePath.close()// 闭合路径

        lineShape.frame=CGRect(x:0, y:0, width:frame.size.width, height:frame.size.height)

        lineShape.lineWidth=Adapt(1)

        lineShape.lineJoin = kCALineJoinMiter // 线条间的样式

        lineShape.lineCap = kCALineCapSquare //线结尾样式

        lineShape.strokeColor = kClear.cgColor // 路径颜色

        lineShape.path = linePath.cgPath // 获取贝塞尔曲线的路径

        lineShape.fillColor = kpassagewayColor.cgColor // 填充颜色

    }

    required init?(coder aDecoder:NSCoder) {

        fatalError("init(coder:) has not been implemented")

    }

}

// MARK: - 配置 UI 视图

extension triangleView {

    func setUpAllView(firstPoint :CGPoint,secondPoint :CGPoint,thirdPoint :CGPoint) {

        self.firstPoint= firstPoint

        self.secondPoint= secondPoint

        self.thirdPoint= thirdPoint

        linePath = UIBezierPath.init()

        lineShape = CAShapeLayer.init() //设置路径画布

        self.layer.addSublayer(lineShape)

  }

}

相关文章

网友评论

      本文标题:Swift4 画一个三角形

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