<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/View/overlay(_:ignoresSafeAreaEdges:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI4ViewPAAE7overlay_20ignoresSafeAreaEdgesQrqd___AA4EdgeO3SetVtAA10ShapeStyleRd__lF"
  },
  "title" : "overlay(_:ignoresSafeAreaEdges:)"
}
-->

# overlay(_:ignoresSafeAreaEdges:)

Layers the specified style in front of this view.

```
nonisolated func overlay<S>(_ style: S, ignoresSafeAreaEdges edges: Edge.Set = .all) -> some View where S : ShapeStyle
```

## Parameters

`style`

An instance of a type that conforms to [`ShapeStyle`](/documentation/SwiftUI/ShapeStyle) that
SwiftUI layers in front of the modified view.

`edges`

The set of edges for which to ignore safe area insets
when adding the overlay. The default value is [`all`](/documentation/SwiftUI/Edge/Set/all).
Specify an empty set to respect safe area insets on all edges.

## Return Value

A view with the specified style drawn in front of it.

## Discussion

Use this modifier to layer a type that conforms to the [`ShapeStyle`](/documentation/SwiftUI/ShapeStyle)
protocol, like a [`Color`](/documentation/SwiftUI/Color), [`Material`](/documentation/SwiftUI/Material), or [`HierarchicalShapeStyle`](/documentation/SwiftUI/HierarchicalShapeStyle),
in front of a view. For example, you can overlay the
[`ultraThinMaterial`](/documentation/SwiftUI/ShapeStyle/ultraThinMaterial) over a [`Circle`](/documentation/SwiftUI/Circle):

```
struct CoveredCircle: View {
    var body: some View {
        Circle()
            .frame(width: 300, height: 200)
            .overlay(.ultraThinMaterial)
    }
}
```

SwiftUI anchors the style to the view’s bounds. For the example above,
the overlay fills the entirety of the circle’s frame (which happens
to be wider than the circle is tall):

![A screenshot of a circle showing through a rectangle that imposes](images/com.apple.SwiftUI/View-overlay-5@2x.png)

SwiftUI also limits the style’s extent to the view’s
container-relative shape. You can see this effect if you constrain the
`CoveredCircle` view with a [`containerShape(_:)`](/documentation/SwiftUI/View/containerShape(_:)) modifier:

```
CoveredCircle()
    .containerShape(RoundedRectangle(cornerRadius: 30))
```

The overlay takes on the specified container shape:

![A screenshot of a circle showing through a rounded rectangle that](images/com.apple.SwiftUI/View-overlay-6@2x.png)

By default, the overlay ignores safe area insets on all edges, but you
can provide a specific set of edges to ignore, or an empty set to
respect safe area insets on all edges:

```
Rectangle()
    .overlay(
        .secondary,
        ignoresSafeAreaEdges: []) // Ignore no safe area insets.
```

If you want to specify a [`View`](/documentation/SwiftUI/View) or a stack of views as the overlay
rather than a style, use [`overlay(alignment:content:)`](/documentation/SwiftUI/View/overlay(alignment:content:)) instead.
If you want to specify a [`Shape`](/documentation/SwiftUI/Shape), use
[`overlay(_:in:fillStyle:)`](/documentation/SwiftUI/View/overlay(_:in:fillStyle:)).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)