Apple iOS docs for `[UIView beginAnimations:context:]`:
> Use of this method is discouraged in iOS 4.0 and later. You should use the block-based animation methods to specify your animations instead.

You should use block base animations. Set duration to `0` for `animated == NO`:
> duration: The total duration of the animations, measured in seconds. If you specify a negative value or 0, the changes are made without animating them.