添加虚线 (Swift4)

///添加虚线(给一个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()

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值