Рад, что помню тригонометрию
-(void)degreesToRotateObjectWithPosition:(CGPoint)objPos andTouchPoint:(CGPoint)touchPoint{
float dX = touchPoint.x-objPos.x; // distance along X
float dY = touchPoint.y-objPos.y; // distance along Y
float radians = atan2(dY, dX); // tan = opp / adj
//Now we have to convert radians to degrees:
float degrees = radians*M_PI/360;
return degrees;
}
Если у вас есть хороший метод, просто сделайте это в методе сенсорного события. (Я забыл, как это называется ...)
CGAffineTransform current = view.transform;
[view setTransform:CGAffineTransformRotate(current,<br> [self degreesTorotateObjectWithPosition:view.frame.origin <br> andTouchPoint:[touch locationInView:<b>parentView</b>]]
//<b>Note: parentView = The view that your object to rotate is sitting in.</b>
Это почти весь код, который вам понадобится. Математика верна, но я не уверен насчет вещей setTransform. Я в школе пишу это в браузере. Вы должны быть в состоянии понять это отсюда.
Удачи,
Aurum Aquila