---
title: "animate(_:changes:completion:)"
framework: uikit
role: symbol
role_heading: Type Method
path: "uikit/uiview/animate(_:changes:completion:)"
---

# animate(_:changes:completion:)

## Declaration

```swift
@MainActor @preconcurrency static func animate(_ animation: Animation, changes: () -> Void, completion: (() -> Void)? = nil)
```

## See Also

### Animating views

- [animate(springDuration:bounce:initialSpringVelocity:delay:options:animations:completion:)](uikit/uiview/animate(springduration:bounce:initialspringvelocity:delay:options:animations:completion:).md)
- [animate(withDuration:delay:options:animations:completion:)](uikit/uiview/animate(withduration:delay:options:animations:completion:).md)
- [animate(withDuration:animations:completion:)](uikit/uiview/animate(withduration:animations:completion:).md)
- [animate(withDuration:animations:)](uikit/uiview/animate(withduration:animations:).md)
- [transition(with:duration:options:animations:completion:)](uikit/uiview/transition(with:duration:options:animations:completion:).md)
- [transition(from:to:duration:options:completion:)](uikit/uiview/transition(from:to:duration:options:completion:).md)
- [animateKeyframes(withDuration:delay:options:animations:completion:)](uikit/uiview/animatekeyframes(withduration:delay:options:animations:completion:).md)
- [addKeyframe(withRelativeStartTime:relativeDuration:animations:)](uikit/uiview/addkeyframe(withrelativestarttime:relativeduration:animations:).md)
- [perform(_:on:options:animations:completion:)](uikit/uiview/perform(_:on:options:animations:completion:).md)
- [animate(withDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:)](uikit/uiview/animate(withduration:delay:usingspringwithdamping:initialspringvelocity:options:animations:completion:).md)
- [performWithoutAnimation(_:)](uikit/uiview/performwithoutanimation(_:).md)
- [modifyAnimations(withRepeatCount:autoreverses:animations:)](uikit/uiview/modifyanimations(withrepeatcount:autoreverses:animations:).md)
