Type Method


Creates and returns an animator object that begins running its animations immediately.


class func runningPropertyAnimator(withDuration duration: TimeInterval, delay: TimeInterval, options: UIView.AnimationOptions = [], animations: @escaping () -> Void, completion: ((UIViewAnimatingPosition) -> Void)? = nil) -> Self



The duration of the animation, in seconds.


The number of seconds to wait before starting the animations. Specify 0 to begin the animations immediately.


The options to apply to the animations. You can specify most options, but transition-related options and options related to the animation direction are ignored. For a list of options, see UIView.AnimationOptions.


The block containing the animations. This block has no return value and takes no parameters. Use this block to modify any animatable properties of your view. Those properties are animated from their current values to the new values using the specified animation parameters.


The block to execute when the animations finish. You can use this block to perform any final actions. This block has no return value and takes the following parameter:


The ending position of the animations. Use this value to determine whether the animations stopped at the beginning, end, or somewhere in the middle.

Return Value

An initialized animator object or nil if the object could not be created.


This method creates the property animator object, configures it, and calls its startAnimation() method after the specified delay. If you do not specify an animation curve in the options parameter, this method uses the curveEaseInOut option.

See Also

Initializing a Property Animator

init(duration: TimeInterval, curve: UIView.AnimationCurve, animations: (() -> Void)?)

Initializes the animator with a built-in UIKit timing curve.

init(duration: TimeInterval, dampingRatio: CGFloat, animations: (() -> Void)?)

Initializes the animator object with spring-based timing information.

init(duration: TimeInterval, timingParameters: UITimingCurveProvider)

Initializes the animator object with a custom timing curve object.