Spring
public class Spring : Equatable
extension Spring: CustomStringConvertible
Spring determines the timing curve and settling duration of an animation.
Springs are created by providing a dampingRatio greater than zero, and either a response or stiffness value. See the initializers init(dampingRatio:response:mass:) and init(dampingRatio:stiffness:mass:) for usage information.
-
The amount of oscillation the spring will exhibit (i.e. “springiness”).
Declaration
Swift
public let dampingRatio: CGFloat -
Represents the frequency response of the spring. This value affects how quickly the spring animation reaches its target value.
Declaration
Swift
public let response: CGFloat -
The spring constant
k. Used as an alternative toresponse.Declaration
Swift
public let stiffness: CGFloat -
The mass “attached” to the spring. The default value of
1.0rarely needs to be modified.Declaration
Swift
public let mass: CGFloat -
The viscous damping coefficient
c. This value is derived.Declaration
Swift
public let dampingCoefficient: CGFloat -
The time the spring will take to settle or “complete”. This value is derived.
Declaration
Swift
public let settlingDuration: TimeInterval
-
Creates a spring with the given damping ratio and frequency response.
Declaration
Swift
public init(dampingRatio: CGFloat, stiffness: CGFloat, mass: CGFloat = 1.0)Parameters
dampingRatioThe amount of oscillation the spring will exhibit (i.e. “springiness”). A value of
1.0(critically damped) will cause the spring to smoothly reach its target value without any oscillation. Values closer to0.0(underdamped) will increase oscillation (and overshoot the target) before settling.stiffnessmassThe mass “attached” to the spring. The default value of
1.0rarely needs to be modified. -
Creates a spring with the given damping ratio and frequency response.
Declaration
Swift
public init(dampingRatio: CGFloat, response: CGFloat, mass: CGFloat = 1.0)Parameters
dampingRatioThe amount of oscillation the spring will exhibit (i.e. “springiness”). A value of
1.0(critically damped) will cause the spring to smoothly reach its target value without any oscillation. Values closer to0.0(underdamped) will increase oscillation (and overshoot the target) before settling.responseRepresents the frequency response of the spring. This value affects how quickly the spring animation reaches its target value. The frequency response is the duration of one period in the spring’s undamped system, measured in seconds. Values closer to
0create a very fast animation, while values closer to1.0create a relatively slower animation.massThe mass “attached” to the spring. The default value of
1.0rarely needs to be modified.
-
A reasonable, slightly underdamped spring to use for interactive animations (like dragging an item around).
Declaration
Swift
public static let defaultInteractive: Spring -
A reasonable, critically damped spring to use for non-interactive animations.
Declaration
Swift
public static let defaultAnimated: Spring -
A placeholder spring to use when using the
nonAnimatedmode. SeeAnimationModefor more info.Declaration
Swift
public static let defaultNonAnimated: Spring
-
Declaration
Swift
public static func == (lhs: Spring, rhs: Spring) -> Bool -
Declaration
Swift
public var description: String { get }
Spring Class Reference