|< How to use images and other views as a backgrounds||How to fill and stroke shapes at the same time >|
Updated for Xcode 13.0
SwiftUI has several built-in shapes such as rectangles, circles, and capsules, each of which can be created, color, and positioned as needed.
For example, if you wanted a 200x200 red rectangle, you would use this:
Rectangle() .fill(Color.red) .frame(width: 200, height: 200)
Similarly, if you wanted a 100x100 blue circle you would use this:
Circle() .fill(Color.blue) .frame(width: 100, height: 100)
There’s a dedicated shape for rounded rectangles, allowing you to customize how much rounding should be applied, as well as having complete control over the type of rounding. For example, this creates a rounded rectangle with 25 points of rounding on each corner:
RoundedRectangle(cornerRadius: 25) .fill(Color.green) .frame(width: 150, height: 100)
Finally, SwiftUI provides a
Capsule() shape as a specialized form of rounded rectangles, where the shortest edge of the rectangle is always fully rounded. This is a popular style with buttons, because you get a lozenge-shaped button in just a couple of lines of code:
Capsule() .fill(Color.green) .frame(width: 150, height: 100)
Link copied to your pasteboard.