///添加虚线(给一个View加虚线--虚线所在UIImageView高为5)
func addLineView(setView: UIView, color1: UIColor, color2: UIColor) {
let imgV:UIImageView = UIImageView(frame: CGRect(x: 0, y: setView.frame
.height - 5, width: setView.frame.width, height: 5))
setView.addSubview(imgV)
configLine(imgV: imgV, color1: color1, color2: color2)
}
///给高为5的View加虚线(虚线所在UIImageView高为5)
func addLineFor(iv: UIView, color1: UIColor, color2: UIColor) {
let imgV:UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: iv.frame.width, height: 5))
iv.addSubview(imgV)
configLine(imgV: imgV, color1: color1, color2: color2)
}
private func configLine(imgV: UIImageView, color1: UIColor, color2: UIColor) {
UIGraphicsBeginImageContext(imgV.frame.size)
let context = UIGraphicsGetCurrentContext()
context?.setLineCap(CGLineCap.square)
let lengths: [CGFloat] = [10,30,]// 绘制 跳过 无限循环
context?.setStrokeColor(color1.cgColor)//UIColor.red.cgColor
context?.setLineWidth(2)
context?.setLineDash(phase: 0, lengths: lengths)
context?.move(to: CGPoint(x: 0, y: 3))
context?.addLine(to: CGPoint(x: imgV.frame.width, y: 3))
context?.strokePath()
context?.setStrokeColor(color2.cgColor)//UIColor.blue.cgColor
context?.setLineWidth(2)
context?.setLineDash(phase: 0, lengths: lengths)
context?.move(to: CGPoint(x: 20, y: 3))
context?.addLine(to: CGPoint(x: imgV.frame.width, y: 3))
context?.strokePath()
imgV.clipsToBounds = true
imgV.image = UIGraphicsGetImageFromCurrentImageContext()
}