ZStack {
VStack {
Text("some text")
Button("Ok") {}
.foregroundColor(.cyan)
.padding()
}
.padding()
}
.background(.red)
.border(.blue, width: 5)
.cornerRadius(20)
I want the entire view to have the blue border with rounded corners (instead of the red square overlapping the rounded blue border. How? I've tried seemingly all variations of ordering the modifiers.
SwiftUI borders have straight edges no matter what corner radius you apply (
.cornerRadius
simply clips the view to a rounded mask and doesn't adjust the border's appearance).If you want a rounded border, you'll need to overlay and
.stroke
a rounded rectangle:Result: