Greetings, traveler!
Introduced in iOS 26, the backgroundExtensionEffect
modifier in SwiftUI enables developers to extend a view’s visual content beyond its safe area by creating mirrored copies with a blur effect. This article explains the functionality of the modifier and provides an example of its implementation in a SwiftUI application.
Overview of backgroundExtensionEffect
The backgroundExtensionEffect
modifier duplicates a view into mirrored copies, placing them around the original view on any edge with available safe area space. A blur effect is applied over these copies to create a seamless, immersive background. This modifier is particularly useful in scenarios such as a navigation split view, where a view in the detail column can extend under the sidebar or inspector to maintain visual continuity. The modifier automatically clips the view to prevent overlapping copies, ensuring a clean presentation.
Implementing backgroundExtensionEffect
The following example demonstrates how to apply the backgroundExtensionEffect
modifier to an image within a SwiftUI view. The image fills the available space and extends into the safe area with mirrored, blurred copies:
import SwiftUI
struct ContentView: View {
var body: some View {
GeometryReader {
let size = $0.size
let width = size.width
let height = size.height
Image(.nature)
.resizable()
.scaledToFill()
.frame(width: width, height: height)
.backgroundExtensionEffect()
}
}
}
In this code, the GeometryReader
retrieves the dimensions of the parent view to ensure the image fills the available space. The Image is set to a predefined asset (.nature), scaled to fill the frame, and the backgroundExtensionEffect
modifier is applied. This creates mirrored copies of the image around the safe area edges, with a blur effect to soften the transitions. The result is a visually cohesive background suitable for overlaying other content, such as in a navigation split view’s detail column.
Conclusion
The backgroundExtensionEffect
modifier provides a mechanism to extend a view’s content beyond its safe area, creating mirrored, blurred copies for a seamless background. By applying this modifier, developers can enhance the visual integration of backgrounds in layouts such as navigation split views, ensuring continuity across different regions of the interface.
If you enjoyed this article, please feel free to follow me on my social media: