environment(_:_:)
Sets the environment value of the specified key path to the given value.
Declaration
nonisolated func environment<V>(_ keyPath: WritableKeyPath<EnvironmentValues, V>, _ value: V) -> some Scene
Parameters
- keyPath:
A key path that indicates the property of the Environmentvalues structure to update.
- value:
The new value to set for the item specified by
keyPath.
Return Value
A view that has the given value set in its environment.
Discussion
Use this modifier to set one of the writable properties of the EnvironmentValues structure, including custom values that you create. For example, you can create a custom environment key styleOverrides to set a value that represents style settings that for the entire app:
WindowGroup {
ContentView()
}
.environment(\.styleOverrides, StyleOverrides())You then read the value inside ContentView or one of its descendants using the Environment property wrapper:
struct MyView: View {
@Environment(\.styleOverrides) var styleOverrides: StyleOverrides
var body: some View { ... }
}This modifier affects the given scene, as well as that scene’s descendant views. It has no effect outside the view hierarchy on which you call it.