---
title: Transaction
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/transaction
---

# Transaction

The context of the current state-processing update.

## Declaration

```swift
@frozen struct Transaction
```

## Overview

Overview Use a transaction to pass an animation between views in a view hierarchy. The root transaction for a state change comes from the binding that changed, plus any global values set by calling withTransaction(_:_:) or withAnimation(_:_:).

## Topics

### Creating a transaction

- [init()](swiftui/transaction/init().md)
- [init(animation:)](swiftui/transaction/init(animation:).md)

### Managing animations

- [animation](swiftui/transaction/animation.md)
- [disablesAnimations](swiftui/transaction/disablesanimations.md)
- [addAnimationCompletion(criteria:_:)](swiftui/transaction/addanimationcompletion(criteria:_:).md)

### Managing window dismissal

- [dismissBehavior](swiftui/transaction/dismissbehavior.md)

### Getting information about a transaction

- [isContinuous](swiftui/transaction/iscontinuous.md)
- [scrollTargetAnchor](swiftui/transaction/scrolltargetanchor.md)
- [tracksVelocity](swiftui/transaction/tracksvelocity.md)
- [subscript(_:)](swiftui/transaction/subscript(_:).md)

### Instance Properties

- [scrollContentOffsetAdjustmentBehavior](swiftui/transaction/scrollcontentoffsetadjustmentbehavior.md)
- [scrollPositionUpdatePreservesVelocity](swiftui/transaction/scrollpositionupdatepreservesvelocity.md)

## See Also

### Moving an animation to another view

- [withTransaction(_:_:)](swiftui/withtransaction(_:_:).md)
- [withTransaction(_:_:_:)](swiftui/withtransaction(_:_:_:).md)
- [transaction(_:)](swiftui/view/transaction(_:).md)
- [transaction(value:_:)](swiftui/view/transaction(value:_:).md)
- [transaction(_:body:)](swiftui/view/transaction(_:body:).md)
- [Entry()](swiftui/entry().md)
- [TransactionKey](swiftui/transactionkey.md)
