You can set the
cornerRadius property of any
UIView to have its edges rounded, but by default that rounds all corners at the same time. If you want only some corners to be rounded, you should set the layer’s
maskedCorners property to be an array of the corners you want – it’s an option set, so you can set one or many depending on your needs.
For example, this code rounds the top-left and bottom-right corners of a view, leaving the other two square:
let redBox = UIView(frame: CGRect(x: 100, y: 100, width: 128, height: 128)) redBox.backgroundColor = .red redBox.layer.cornerRadius = 25 redBox.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMaxYCorner] view.addSubview(redBox)
Available from iOS 11.0
Did this solution work for you? Please pass it on!
Other people are reading…
About the Swift Knowledge Base
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Love Hacking with Swift?
Get all 40 projects in PDF and HTML: buy the Hacking with Swift book! It contains over 1300 pages of hands-on Swift coding, and will really help boost your iOS career