Swift version: 5.4
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)
SPONSORED With Sentry’s error and performance monitoring for iOS, you see mobile vitals that actually matter, can solve any latency issues quickly, and learn how each release is performing over time.
Available from iOS 11.0
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.