Updated for Xcode 13.0
SwiftUI gives us a dedicated
border() modifier to draw borders around views. It has a few variations depending on whether you want to specify a stroke width or a corner radius, so here are a few examples:
This adds a simple 1-point green border around a text view:
Text("Hacking with Swift") .border(Color.green)
If you want to make the border so that it doesn’t sit right on the edges of your view, add some padding first:
Text("Hacking with Swift") .padding() .border(Color.green)
This adds a 4-point red border:
Text("Hacking with Swift") .padding() .border(Color.red, width: 4)
If you want anything more advanced – e.g., if you want to round the corners of your border – you need to use the
overlay() modifier instead. For example, this adds a 4-point blue border with 16-point rounded corners:
Text("Hacking with Swift") .padding() .overlay( RoundedRectangle(cornerRadius: 16) .stroke(Color.blue, lineWidth: 4) )
strokeBorder() with shapes, and
border() with other view types.
SPONSORED Join a FREE crash course for iOS devs who want to become complete senior developers — from October 18th to 24th. Learn how to apply iOS app architecture patterns through a series of lectures and practical coding sessions.
Link copied to your pasteboard.