diff --git a/Example/OpenSwiftUIUITests/Layout/Modifier/InsetViewModifierUITests.swift b/Example/OpenSwiftUIUITests/Layout/Modifier/InsetViewModifierUITests.swift index 5f5192963..403e6bc0f 100644 --- a/Example/OpenSwiftUIUITests/Layout/Modifier/InsetViewModifierUITests.swift +++ b/Example/OpenSwiftUIUITests/Layout/Modifier/InsetViewModifierUITests.swift @@ -8,10 +8,7 @@ import Testing @Suite(.snapshots(record: .never, diffTool: diffTool)) struct InsetViewModifierUITests { - @Test( - .bug("https://github.com/OpenSwiftUIProject/OpenSwiftUI/issues/511"), - .disabled("Extra spacing value is taken into account. Disable the test case before we fix it.") - ) + @Test(.bug("https://github.com/OpenSwiftUIProject/OpenSwiftUI/issues/511")) func safeAreaPaddingWithEdgeInsets() { struct ContentView: View { var body: some View { diff --git a/Sources/OpenSwiftUICore/Layout/Modifier/InsetViewModifier.swift b/Sources/OpenSwiftUICore/Layout/Modifier/InsetViewModifier.swift index 5173de25a..25c3f106e 100644 --- a/Sources/OpenSwiftUICore/Layout/Modifier/InsetViewModifier.swift +++ b/Sources/OpenSwiftUICore/Layout/Modifier/InsetViewModifier.swift @@ -253,20 +253,20 @@ struct SafeAreaPaddingModifier: ViewModifier { @usableFromInline func body(content: SafeAreaPaddingModifier.Content) -> some View { - content.safeAreaInset(edge: .top) { + content.safeAreaInset(edge: .top, spacing: 0) { insetView(edge: .top) - }.safeAreaInset(edge: .bottom) { + }.safeAreaInset(edge: .bottom, spacing: 0) { insetView(edge: .bottom) - }.safeAreaInset(edge: .leading) { + }.safeAreaInset(edge: .leading, spacing: 0) { insetView(edge: .leading) - }.safeAreaInset(edge: .trailing) { + }.safeAreaInset(edge: .trailing, spacing: 0) { insetView(edge: .trailing) } } private func insetView(edge: Edge) -> some View { let axis = Axis(edge: edge) - let inset = (insets ?? defaultPadding)[edge] + let inset = edges.contains(edge) ? (insets ?? defaultPadding)[edge] : 0 return axis == .horizontal ? Color.clear.frame(width: inset) : Color.clear.frame(height: inset)