У меня проблема с позиционированием изображения в соответствии с местоположением касаний, однако оно ограничено кругом.
Это работает по большей части, но с учетом угла (от местоположения касаний до желаемого местоположения)меньше 0, оно помещает изображение не с той стороны круга.
Возможно, я ошибся в некоторых математических выражениях.
В любом случае, вот код:
float newHeight, newWidth, centerPointX, centerPointY;
newHeight = -(invertedY.y - (view.frame.origin.y+view.frame.size.height/2));
newWidth = -(invertedY.x - (view.frame.origin.x+view.frame.size.width/2));
float tangent = newHeight/newWidth;
float calculatedAngle = atanf(tangent);
float s, c, d, fX, fY;
d = view.frame.size.width/2+30;
if (calculatedAngle < 0) {
s = sinf(calculatedAngle) * d;
c = cosf(calculatedAngle) * d;
} else {
s = -sinf(calculatedAngle) * d;
c = -cosf(calculatedAngle) * d;
}
fX = view.center.x + c;
fY = view.center.y + s;
[delegate setPoint:CGPointMake(fX, fY)];
NSLog(@"angle = %.2f", calculatedAngle);
Любая помощь приветствуется.