I\'m creating an autolayout-friendly split view class for one of my applications. Among its various features is that it can collapse panes, and can animate their collapse, much
The completion handler is firing immediately because it thinks there aren't any animations that need to be run. I would check and confirm that the animation you created is still attached to the view. By default CABasicAnimation is set to remove itself upon completion by way of the removedOnCompletion property it inherits from CAAnimation (which by default is set to YES).
you'll want to
anim.removedOnCompletion = NO;