Swift version: 5.6
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 In-app subscriptions are a pain to implement, hard to test, and full of edge cases. RevenueCat makes it straightforward and reliable so you can get back to building your app. Oh, and it's free if your app makes less than $10k/mo.
Sponsor Hacking with Swift and reach the world's largest Swift community!
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.