why don't you just use UIDragDetectors instead? they work 100x better than a custom dragging implementation