Arjun Patel
Arjun Patel

Reputation: 1510

How to apply sharp corner radius with border on UIView in swift?

I want to set corner radius on bottom left and right side with border on UIView. here is code. **issue is it's not display SHARP in 1.5 border **

class BorderView: UIView {

  override func draw(_ rect: CGRect) {

    let color = UIColor.red
    let color2 = UIColor.brown

    //// Rectangle Drawing
    let rectanglePath = UIBezierPath(roundedRect: CGRect(x: 0, y: 0, width: 200, height: 200), byRoundingCorners: [.bottomRight, .bottomLeft], cornerRadii: CGSize(width: 10, height: 10))
    rectanglePath.close()
    color2.setFill()
    rectanglePath.fill()
    color.set()
    rectanglePath.lineWidth = 1.5
    rectanglePath.stroke()

 }
}

OutPut

enter image description here

expected output

enter image description here

Upvotes: 1

Views: 3841

Answers (1)

Craig Siemens
Craig Siemens

Reputation: 13266

If you use the border and corner properties on CALayer, it should do it all for you.

// Probably inside init
layer.borderWidth = 1.5
layer.borderColor = UIColor.red.cgColor

layer.cornerRadius = 10
layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner]

Upvotes: 6

Related Questions