Box2D is a full-featured open source physics engine that has been used in many iPhone and iPad games. It is often used with the excellent Cocos2D graphics engine.
Oliver Drobnik has created an excellent example of using Box2D with the UIKit. This is a great example for those who are not familiar with, or don’t have any interest in using Cocos 2D.
[Source: Dr. Touch]
Something that I’ve been asked in the past is whether it was possible (or allowed) to mix the iPhone’s UI (UIkit) components with OpenGL ES views. I can certainly understand the desire to do this, after all who wouldn’t want the convenience of using interface builder while having the power of raw OpenGL ES. My response in the past was always, yes it is possible, but there are performance implications, and Apple used to give warnings about instability.
I never really pursued going too far with this as when I initially saw a perofrmance loss I just figured it wasn’t worth pursuing any further, but I was wrong.
Noel Lliopsis has mastered mixing OpenGL ES and UIKit and in his Flower Garden app does this extensively. He recently gave a presentation at GDC, and if you’d like to see the slides from Noel’s presentation where he goes into this in-depth check out the article on his blog: GDC 2010: The Best of Both Worlds: Using UIKit with OpenGL. If you want to find out the exact techniques Noel uses to do this beautifully without any noticeable performance loss you’ll want to check this out..
[Source: Games From Within]