I have a very simple application. It contains a red view and a green label inside it. There is also a button that runs animation. I animate the red view by changing its widt
It seems like I've found the root of the problem. Constraints are not a trouble, UILabel
is.
If you replace UILabel
in my project with simple UIView
it will animate smoothly as expected. It's a question of UILabel
content animation. You can reach correct animation behaviour set label.contentMode = UIViewContentModeCenter
but it looks ugly.
The best way to solve this problem - not try to change size of UILabel
during animation. Try to invent some other behaviour. In my case I change UILabel
's alpha to 0 and x position to greater then container view's width.
Please find more details about UILabel
animating here.
I have took a look at your project. I have not that much experience with setting constraints from editor but I would highly recommend you in case of troubles try to do it in code. Personally I would animate constraint on width of this red view and set constraints on the label's margins using visual format it will be something like: @"H:|[label]|"
and add this this constraint to red view. That should solve the problem.