2.6. Assigning Characteristics to Your Dynamic Effects

Problem

You like the default physics built into the dynamic behaviors of UIKit, but you want to be able to assign different characteristics, such as mass and elasticity, to various items that you control using dynamic behaviors.

Solution

Instantiate an object of type UIDynamicItemBehavior and assign your dynamic items to it. Once instantiated, use the various properties of this class to change the characteristics of your dynamic items. Then add this behavior to your animator (see Recipe 2.0) and let the animator take care of the rest for you.

Discussion

Dynamic behaviors are great for adding real-life physics to items that conform to the UIDynamicItem protocol, such as all views of type UIView. In some apps, though, you may wish to explicitly specify the characteristics of a specific item. For instance, in an app where you are using gravity and collision behaviors (see Recipe 2.1 and Recipe 2.2), you may wish to specify that one of the items on your screen affected by this gravity and the collision has to bounce harder than the other item when it collides with a boundary. Another example is when you want to specify that an item, during all the different dynamic animations that will be applied to it with an animator, should not rotate at all.

These are all easily doable when you use instances of the UIDynamicItemBehavior class. These instances are dynamic behaviors too, and you can add them to an animator using the addBehavior: instance ...

Get iOS 7 Programming Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.