版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Emperor_huanzi/article/details/79205593
// 调用
let lineView = CNDashedView(frame: CGRect(x: 2, y: 300, width: self.view.frame.size.width - 4, height: 1))
self.view.addSubview(lineView)
class CNDashedView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
self.backgroundColor = UIColor.white
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func draw(_ rect: CGRect) {
let context = UIGraphicsGetCurrentContext()
context?.setFillColor(UIColor.clear.cgColor)
// 这里控制虚线的样式
context?.setLineDash(phase: 4, lengths: [20,30,60,30])
context?.fill(self.bounds)
context?.setStrokeColor(UIColor.lightGray.cgColor)
context?.move(to: CGPoint(x: 0, y: 0))
context?.addLine(to: CGPoint(x: self.frame.size.width, y: 0))
context?.strokePath()
}
}