Search code examples
iphoneios4uiviewcore-animation

What are block-based animation methods in iPhone OS 4.0?


I am trying to implement a game using the iPhone OS 4.0 (iOS4?) SDK. In the previous versions of the SDK, I've been using the [UIView beginAnimations:context:] and [UIView commitAnimations] to create some animations. However, when I look at the documentation of the functions in 4.0, I see this comment.

Use of this method is discouraged in iPhone OS 4.0 and later. You should use the block-based animation methods instead.

You can find it here: http://developer.apple.com/iphone/library/documentation/uikit/reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/clm/UIView/commitAnimations

My question is, what are block-based animations in iPhone OS 4.0? I though that the beginAnimations:context: and commitAnimations functions were used to create animation blocks..


Solution

  • If you follow that link and scroll up a bit, you will see animate methods new to ios4.

    animateWithDuration:animations:
    animateWithDuration:animations:completion:
    animateWithDuration:delay:options:animations:completion:
    

    There are also some related transition methods. For each of these, the animations argument is a block object:

    animations
    A block object containing the changes to commit to the views. This is where you programmatically change any animatable properties of the views in your view hierarchy. This block takes no parameters and has no return value. This parameter must not be NULL.

    Block objects are part of Concurrent Programming