Search code examples
iosswiftuibezierpathcashapelayercornerradius

How to give cornerRadius for UIBezierPath


I created a rectangle using following code and now I need to rounded the corners of this rectangle. but I can't find a property called layer.cornerRadius, can anyone help me ?

class OvalLayer: CAShapeLayer {

    let animationDuration: CFTimeInterval = 0.3

    override init() {
        super.init()
        fillColor = Colors.green.CGColor
        path = ovalPathSmall.CGPath
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    var ovalPathStart: UIBezierPath {
        let path = UIBezierPath(ovalInRect: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))

        return path
    }
}

Solution

  • You can use below method to make all corner round of view...

     UIBezierPath(roundedRect: anyView.bounds, cornerRadius: CGSize(width: 10.0, height: 10.0))
    

    If you want particular corner to make round use below method.

     UIBezierPath(roundedRect: anyView.bounds,
            byRoundingCorners: .BottomLeft | .BottomRight,
            cornerRadius: CGSize(width: 10.0, height: 10.0))