Unfortunately, YES, it takes a split second.
The answer as to "why" this is happening, is that the animation duration was implicitly being set to 0.0001 seconds in the api. Your immediate call to [self updateLabels]
was actually being called before the zPosition
properties were finished animating.
This is actually a bug I've now tracked in C4, I've fixed it in the full project that's available on github but it will be a while before this makes it into the installer / project template.