You can create a circular profile icon with an image in SwiftUI by applying the .clipShape() modifier to an Image view and providing a Circle shape as the argument. Here's an example implementation:
main.swift99 chars5 lines
In this code snippet, we start with an Image view that displays an image named "profile_pic". We then make the image resizable and set the frame to be 100 by 100 pixels. Finally, we clip the image to a Circle shape using the .clipShape() modifier.
You can adjust the size of the image by changing the frame dimensions or by using a GeometryReader to dynamically size the view based on the available space.
Note that if your image is not already a perfect square, it may be distorted when clipped into a circle. To avoid distortion, you can use a resizable Rectangle view as a container for the image and apply .aspectRatio(contentMode: .fit) to preserve the aspect ratio of the original image:
main.swift258 chars11 lines
This implementation uses a Rectangle view as a container for the image instead of applying .frame() directly to the Image. The Rectangle is filled with white to provide a border around the circular image. The .aspectRatio(contentMode: .fit) modifier is applied to both the Rectangle and the Image to preserve the aspect ratio of the original image. Finally, the Image is clipped to a Circle shape as before.
gistlibby LogSnag