Skip to main content

How to use images and other views as a backgrounds

About 2 minSwiftSwiftUIArticle(s)bloghackingwithswift.comcrashcourseswiftswiftuixcodeappstore

How to use images and other views as a backgrounds 관련

SwiftUI by Example

Back to Home

How to use images and other views as a backgrounds | SwiftUI by Example

How to use images and other views as a backgrounds

Updated for Xcode 15

SwiftUI doesn't have a dedicated modifier for displaying background colors or images, but instead lets us specify any kind of background view using its background() modifier.

For example, this creates a text view with a large font, then places a 100x100 image behind it:

Text("Hacking with Swift")
    .font(.system(size: 48))
    .padding(50)
    .background(
        Image("singapore")
            .resizable()
    )

Download this as an Xcode projectopen in new window

The words “Hacking with Swift” over an image of the indoor waterfall at Singapore's “Jewel” airport terminal.
The words “Hacking with Swift” over an image of the indoor waterfall at Singapore's “Jewel” airport terminal.

However, it doesn't need to be an image. For example, this creates the same text view then places a 50x50 red circle behind it:

Text("Hacking with Swift")
    .font(.largeTitle)
    .padding()
    .background(Circle()
        .fill(.red)
        .frame(width: 50, height: 50))

Download this as an Xcode projectopen in new window

The words “Hacking with Swift” over a small red circle.
The words “Hacking with Swift” over a small red circle.

By default background views automatically take up as much space as they need to be fully visible, but if you want you can have them be clipped to the size of their parent view using the clipped() modifier:

Text("Hacking with Swift")
    .font(.largeTitle)
    .padding()
    .background(
        Circle()
            .fill(.red)
            .frame(width: 100, height: 100)
    )
    .clipped()

Download this as an Xcode projectopen in new window

The words “Hacking with Swift” over a red circle which has been clipped at the top and bottom.
The words “Hacking with Swift” over a red circle which has been clipped at the top and bottom.

To be clear, you can use any view as your background – another text view if you wanted, for example.

Similar solutions…
How to show different images and other views in light or dark mode | SwiftUI by Example

How to show different images and other views in light or dark mode
How to layer views on top of each other using ZStack | SwiftUI by Example

How to layer views on top of each other using ZStack
SwiftUI tips and tricks | SwiftUI by Example

SwiftUI tips and tricks
All SwiftUI property wrappers explained and compared | SwiftUI by Example

All SwiftUI property wrappers explained and compared
How to hide the home indicator and other system UI | SwiftUI by Example

How to hide the home indicator and other system UI

이찬희 (MarkiiimarK)
Never Stop Learning.