Animating objects by redrawing them all the time is a bad way. Quartz drawing is one of the slowest things you can do, UI-wise, because of how the display system works.
Instead, you need to create separate layers or views for each element to be animated. These layers or views will be drawn only once and then cached. When the layers move, they will not be redrawn, they are simply composed. Absolutely, even the slowest iOS devices (the original first-generation iPhone, iPhone 3G and iPod touch) can animate up to 100 levels at 60 frames per second.
Think of it as a cartoon animation. Instead of having the animators manually redraw each part of each frame, they use cells to reuse elements between frames that remain unchanged or simply move without changing shape. This greatly reduces the effort to create a cartoon.
source share