0
我在根據觸摸位置定位圖像時遇到問題,但僅限於圓形。根據觸摸位置在屏幕上放置圖像,將圖像的位置限制爲一個圓形
它適用於大多數情況,但如果角度(從觸摸位置到所需位置)小於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);
任何幫助表示讚賞。
它完美的工作,謝謝。 –