CGContextRef 画直线、画虚线

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    addStraightLine()
    addStraightAndImaginaryLine()
}
/**  画直线  */
func addStraightLine() {
    let lineLayer = CAShapeLayer()
    let mdotteShapePath = CGMutablePath()
    lineLayer.fillColor = UIColor.clear.cgColor//填充色
    lineLayer.strokeColor = UIColor.blue.cgColor//线颜色
    lineLayer.lineWidth = 1.0
    mdotteShapePath.move(to: .init(x: 20, y: 100))
    mdotteShapePath.addLine(to: .init(x: 200, y: 100))
    mdotteShapePath.addLine(to: .init(x: 200, y: 200))
    lineLayer.path = mdotteShapePath
    view.layer.addSublayer(lineLayer)
}
/**  画直虚线  */
func addStraightAndImaginaryLine() {
    let dotteShapLayer = CAShapeLayer()
    let mdotteShapePath = CGMutablePath()
    dotteShapLayer.fillColor = UIColor.clear.cgColor//填充色
    dotteShapLayer.strokeColor = UIColor.orange.cgColor//线颜色
    dotteShapLayer.lineWidth = 1.0//限宽
    mdotteShapePath.move(to: .init(x: 20, y: 100))
    mdotteShapePath.addLine(to: .init(x: 20, y: 200))
    mdotteShapePath.addLine(to: .init(x: 200, y: 200))
    dotteShapLayer.path = mdotteShapePath
    dotteShapLayer.lineDashPhase = 1
    dotteShapLayer.lineDashPattern = [5,2]//第一个为线条长度,第二个为线条间间隔
    view.layer.addSublayer(dotteShapLayer)
}





override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

效果图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值