How do you animate Auto Layout constraint changes?
The gist
The constraint itself is not animated. What animates is the result of the layout pass: you change constant / isActive / priority and then call layoutIfNeeded() inside the animation block. Core Animation interpolates the frames from the old values to the new ones.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep