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.
Test your Swift today
Think you know Swift? My book Swift Coding Challenges will put your Swift skills to the test – it's perfect for job interviews and more!