Dashed line border around UIView

后端 未结 23 2327
粉色の甜心
粉色の甜心 2020-12-02 04:16

How do I add dashed line border around UIView.

Something Like this

\"\"

23条回答
  •  [愿得一人]
    2020-12-02 04:49

    extension UIView{
    func addDashedLineBorder() {
        let color = UIColor.black.cgColor
    
        let shapeLayer:CAShapeLayer = CAShapeLayer()
        let frameSize = (self.frame.size)
        let shapeRect = CGRect(x: 0, y: 0, width: self.frame.width, height: self.frame.height)
    
        shapeLayer.bounds = shapeRect
        shapeLayer.position = CGPoint(x: frameSize.width/2, y: frameSize.height/2)
        shapeLayer.fillColor = UIColor.clear.cgColor
        shapeLayer.strokeColor = color
        shapeLayer.lineWidth = 1
        shapeLayer.lineJoin = kCALineJoinRound
        shapeLayer.lineDashPattern = [2,2]
        shapeLayer.path = UIBezierPath(rect: shapeRect).cgPath
    
        self.layer.addSublayer(shapeLayer)
    }
    

    } and call this function in viewdidLoad() with delay:

    DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { 
                // Your code with delay
                self.YourView.addDashedBorder()
            }
    

提交回复
热议问题