Generic Instance Method

overlay(_:alignment:)

Layers a secondary view in front of the view.

Declaration

func overlay<Overlay>(_ overlay: Overlay, alignment: Alignment = .center) -> some View where Overlay : View

Parameters

overlay

The view to layer in front of the view.

alignment

The alignment for overlay in relation to the view.

Return Value

A view that layers overlay in front of the view.

Discussion

When you apply an overlay to a view, the original view continues to provide the layout characteristics for the resulting view. For example, the layout for the caption in this view fits within the width of the image:

Image("artichokes")
    .overlay(
        HStack {
            Text("Artichokes") // Text to use as a caption.
            Spacer()
        }
        .padding()
        .foregroundColor(.white)
        .background(Color.black.opacity(0.5)),

        alignment: .bottom
    )

See Also

Setting the Foreground or Background of a View

func foregroundColor(Color?) -> View

Sets the color that the view uses for foreground elements.

func zIndex(Double) -> View

Controls the display order of overlapping views.