On the iPhone, if you touch and hold your finger on an icon, it starts vibrating, then you can drag them around while the other icons move aside and rearrange dynamically. I'm trying to figure out how to do this inside an application with a grid of images or buttons. I don't need them to vibrate, but I do want the UI to allow the user to drag them with real-time dynamic reordering and then return the new position (ie, an int for accessing a mutable array). Any ideas how to do this? Any sample code out there? Thanks!