So here is how I solved my problem.
switch (gesture.state)
{
case UIGestureRecognizerStateBegan:
saveState = CC3VectorMake(0.0f, 0.0f, 0.0f);
break;
case UIGestureRecognizerStateChanged:
CC3Vector rotateVector = CC3VectorMake(gesture.translation.y, gesture.translation.x, 0.0f);
[Dobj rotateBy:CC3VectorDifference(rotateVector, saveState)];
saveState = rotateVector;
break;
case UIGestureRecognizerStateEnded:
break;
default:
break;
}
Using the method rotateBy:
seems to rotate the object only without changing its axis