<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UISpringTimingParameters",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UISpringTimingParameters"
  },
  "title" : "UISpringTimingParameters"
}
-->

# UISpringTimingParameters

The timing information for animations that mimics the behavior of a spring.

```
@MainActor class UISpringTimingParameters
```

## Overview

The timing provided by a [`UISpringTimingParameters`](/documentation/UIKit/UISpringTimingParameters) object mimics the behavior of a spring acting on the value of the property being animated. This property’s value accelerates toward its final value according to the relative force of the spring, which you configure. It then oscillates around that final value until it comes to a rest. The speed at which a property animates to its new value is based on the initial velocity of the value and the damping ratio applied to the spring. You can specify those values directly or using analogous spring-related values.

Use instances of this class to specify custom timing curves when creating animations with objects that adopt the [`UIViewAnimating`](/documentation/UIKit/UIViewAnimating) protocol, such as [`UIViewPropertyAnimator`](/documentation/UIKit/UIViewPropertyAnimator). Spring animations are commonly used to modify a view’s position onscreen, but you can apply the timing to any of the view’s properties to get a similar type of animation timing.

## Topics

### Initializing a spring timing parameters object

[`-  init`](/documentation/UIKit/UISpringTimingParameters/init())

Creates a default timing parameters object.

[`-  initWithDampingRatio:`](/documentation/UIKit/UISpringTimingParameters/init(dampingRatio:))

Creates a timing parameters object with the specified damping ratio.

[`-  initWithDampingRatio:initialVelocity:`](/documentation/UIKit/UISpringTimingParameters/init(dampingRatio:initialVelocity:))

Creates a timing parameters object with the specified damping ratio and initial velocity.

[`-  initWithMass:stiffness:damping:initialVelocity:`](/documentation/UIKit/UISpringTimingParameters/init(mass:stiffness:damping:initialVelocity:))

Creates a timing parameters object with the specified spring stiffness, mass, damping coefficient, and initial velocity.

[`-  initWithCoder:`](/documentation/UIKit/UISpringTimingParameters/init(coder:))

Creates a timing parameters object from data in an unarchiver.

### Getting the initial velocity

[`initialVelocity`](/documentation/UIKit/UISpringTimingParameters/initialVelocity)

The target property’s rate of change at the start of a spring animation, enabling a smooth transition into the animation.

### Initializers

[`-  initWithDuration:bounce:`](/documentation/UIKit/UISpringTimingParameters/init(duration:bounce:))

[`-  initWithDuration:bounce:initialVelocity:`](/documentation/UIKit/UISpringTimingParameters/init(duration:bounce:initialVelocity:))

## Relationships

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`UITimingCurveProvider`](/documentation/UIKit/UITimingCurveProvider)

[`Hashable`](/documentation/Swift/Hashable)

[`Sendable`](/documentation/Swift/Sendable)

---

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)