<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/View/swipeActions(edge:allowsFullSwipe:content:onPresentationChanged:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI4ViewPAAE12swipeActions4edge15allowsFullSwipe7content21onPresentationChangedQrAA14HorizontalEdgeO_Sbqd__yXEySbctAaBRd__lF"
  },
  "title" : "swipeActions(edge:allowsFullSwipe:content:onPresentationChanged:)"
}
-->

# swipeActions(edge:allowsFullSwipe:content:onPresentationChanged:)

Adds custom swipe actions to a row in a list or container,
notifying you when the actions are revealed or dismissed.

```
nonisolated func swipeActions(edge: HorizontalEdge = .trailing, allowsFullSwipe: Bool = true, @ContentBuilder content: () -> some View, onPresentationChanged: @escaping (Bool) -> Void) -> some View
```

## Parameters

`edge`

The edge of the view to associate the swipe
actions with.
The default is [`HorizontalEdge.trailing`](/documentation/SwiftUI/HorizontalEdge/trailing).

`allowsFullSwipe`

A Boolean value that indicates
whether a full swipe automatically performs the
first action. The default is `true`.

`content`

The content of the swipe actions.

`onPresentationChanged`

A closure called when the
swipe actions are revealed or dismissed.

## Discussion

Use this overload when you need to react to the swipe
actions’s visibility — for example, to dim the row or
update surrounding chrome while actions are showing.

```
@State private var isSwiped = false

MessageRow(message)
    .opacity(isSwiped ? 0.5 : 1.0)
    .swipeActions(edge: .trailing) {
        Button(role: .destructive) {
            store.delete(message)
        } label: {
            Label("Delete", systemImage: "trash")
        }
    } onPresentationChanged: {
        isSwiped = $0
    }
```

The closure is called with `true` when the row’s swipe
actions become visible and `false` when they are
dismissed.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)