Skip to content

Commit 6cd610e

Browse files
committed
Fix SafeAreaPaddingModifier
1 parent 9eb9e5d commit 6cd610e

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

Example/OpenSwiftUIUITests/Layout/Modifier/InsetViewModifierUITests.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ import Testing
88
@Suite(.snapshots(record: .never, diffTool: diffTool))
99
struct InsetViewModifierUITests {
1010

11-
@Test(
12-
.bug("https://github.com/OpenSwiftUIProject/OpenSwiftUI/issues/511"),
13-
.disabled("Extra spacing value is taken into account. Disable the test case before we fix it.")
14-
)
11+
@Test(.bug("https://github.com/OpenSwiftUIProject/OpenSwiftUI/issues/511"))
1512
func safeAreaPaddingWithEdgeInsets() {
1613
struct ContentView: View {
1714
var body: some View {

Sources/OpenSwiftUICore/Layout/Modifier/InsetViewModifier.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,20 +253,20 @@ struct SafeAreaPaddingModifier: ViewModifier {
253253

254254
@usableFromInline
255255
func body(content: SafeAreaPaddingModifier.Content) -> some View {
256-
content.safeAreaInset(edge: .top) {
256+
content.safeAreaInset(edge: .top, spacing: 0) {
257257
insetView(edge: .top)
258-
}.safeAreaInset(edge: .bottom) {
258+
}.safeAreaInset(edge: .bottom, spacing: 0) {
259259
insetView(edge: .bottom)
260-
}.safeAreaInset(edge: .leading) {
260+
}.safeAreaInset(edge: .leading, spacing: 0) {
261261
insetView(edge: .leading)
262-
}.safeAreaInset(edge: .trailing) {
262+
}.safeAreaInset(edge: .trailing, spacing: 0) {
263263
insetView(edge: .trailing)
264264
}
265265
}
266266

267267
private func insetView(edge: Edge) -> some View {
268268
let axis = Axis(edge: edge)
269-
let inset = (insets ?? defaultPadding)[edge]
269+
let inset = edges.contains(edge) ? (insets ?? defaultPadding)[edge] : 0
270270
return axis == .horizontal
271271
? Color.clear.frame(width: inset)
272272
: Color.clear.frame(height: inset)

0 commit comments

Comments
 (0)