Instance Method インスタンスメソッド

scenePadding(_:)

Adds padding to the specified edges of this view using an amount that’s appropriate for the current scene.

Declaration 宣言

func scenePadding(_ edges: Edge.Set = .all) -> some View

Return Value 戻り値

A view that’s padded on specified edges by a scene-appropriate amount.

Parameters パラメータ

edges

The set of edges along which to pad this view.

Discussion 議論

Use this modifier to add a scene-appropriate amount of padding to a view. Specify either a single edge value from Edge.Set, or an OptionSet that describes the edges to pad.

In macOS, use scene padding to produce the recommended spacing around the root view of a window. In watchOS, use scene padding to align elements of your user interface with top level elements, like the title of a navigation view. For example, compare the effects of different kinds of padding on text views presented inside a NavigationView in watchOS:


VStack(alignment: .leading, spacing: 10) {
    Text("Scene padding")
        .scenePadding(.horizontal)
        .border(.red) // Border added for reference.
    Text("Regular padding")
        .padding(.horizontal)
        .border(.green)
    Text("Text with no padding")
        .border(.blue)
    Button("Button") { }
}
.navigationTitle("Hello World")

The text with scene padding automatically aligns with the title, unlike the text that uses the default padding or the text without padding:

A watchOS screenshot with the title Hello World and a back button

Scene padding in watchOS also ensures that your content avoids the curved edges of a device like Apple Watch Series 7. In other platforms, scene padding produces the same default padding that you get from the padding(_:_:) modifier.