---
title: "Auto Layout and transitionWithView"
slug: auto-layout-and-transitionwithview
section: tech
date: 2015-09-07T14:59:00.000Z
canonical: https://roland.leth.ro/blog/tech/auto-layout-and-transitionwithview
---

If you want to animate the `hidden` property of a view, or animate the `title` of a button, the solution is simple - use `UIView.transitionWithView(button [...]`. If you want to animate the `title` of several buttons, the solution is just as simple - use `UIView.transitionWithView(containerView [...]`. 

The problem arises when you want to animate constraint changes at the same time: they won't be animated anymore, no matter if you encapsulate them in the same `transitionWithView` call, a new one, or inside an `animateWithDuration` call.

The only solution I found is to do a `transitionWithView` call for each button that needs its `title` changed, and animate the constraints as usual, inside an `animateWithDuration` call.

These kind of changes can also be animated with a `CABasicAnimation` / `CATransition`, and adding that animation to the view's `layer`, but in case you need `transitionWithView`, or don't know why your constraints aren't animating, this might be the reason.
