Dev:UIViewAnimationState

UIViewAnimationState is the manager class of UIView animation blocks. The system maintains a private global stack that contains all pending animation states. When a state is popped, the corresponding animation begins.

The animations will all go back to (Core Animation).

Drag coefficient
The drag coefficient is a multiplier applied on time measurements. A large drag coefficient can slow down animations.

The drag coefficient is obtained with the UIAnimationDragCoefficient function, which in turn is an integer of the key UIAnimationDragCoefficient in the preference file ~/Library/Preferences/com.apple.UIKit.plist.

Drag coefficient will not affect non-UIKit animations.

Animation transitions
Besides the default 4, the iPhoneOS identifies tons of transition effects, all value numerical value starting from 101:

Using suckEffect
The most SDK-compatible way of using suckEffect is to use animation blocks. But the suction point by default is close to nowhere. Therefore you still need to use the undocumented method +[UIView setAnimationPosition:]:

Curl-up animation
Starting from 3.2, you can mimic the Maps curl-up animation using animation blocks. The syntax is: This is converted into a pageCurl filter, with the parameters:
 * inputRadius = 20
 * inputAngle = 4.5379 (= 260&deg;)
 * endTime = (200 + 0.174 width + 0.985 height_to_curl_for) / (200 + 0.174 width + 0.985 height), and clipped within [0.65, 0.9]