SwiftUI foundations

SwiftUI: images

Learn how to display an image in SwiftUI with the Image view, from loading an asset or a system image to modifiers like resizable, frame, and clipShape.

8 minute lesson

~~~

You can display an image in a SwiftUI view by using the Image view.

First you need to add the image to a new image set in your Assets.xcassets file in the Xcode project navigator.

Xcode interface showing Assets.xcassets with Avatar image being added to image set

Then you can add the image to your ContentView like this:

import SwiftUI

struct ContentView: View {
    var body: some View {
        Image("Avatar")
    }
}

iPhone simulator displaying pixelated avatar image rendered by SwiftUI Image view

You can also use Image to show a system image, using the format Image(systemName:):

struct ContentView: View {
    var body: some View {
        Image(systemName: "house")
    }
}

iPhone simulator showing small house system icon displayed using Image systemName

The Image view has a set of modifiers you can use, including:

  • .resizable() to resize the image and adjust to the .frame() dimensions
  • .frame() to set its width/height
  • .clipShape() to set a clipping shape
  • .border() to set the color of the border
  • .overlay() to layer another view in front of it
  • .aspectRatio() to set the aspect ratio
  • .clipped() to cut off the image outside of the frame

Example:

iPhone simulator displaying larger house icon with resizable and frame modifiers applied

Lesson completed

Take this course offline

Get every free book and course as PDF and EPUB files.

Get the download library →