iOS 获取沿圆形轨迹移动控件center坐标的一种思路

+ (CGPoint)calToAcquireTheCenterWithCircleRadius:(CGFloat)circleRadius moveAngle:(CGFloat)moveAngle
{
    CGPoint center = CGPointZero;
    // 设圆心角A的对边为a 邻边为b 斜边为c
    CGFloat x = sin(kXXAngleToRadian(moveAngle)) * circleRadius;
    CGFloat y = cos(kXXAngleToRadian(moveAngle)) * circleRadius;
    center.x = radius + x;
    center.y = radius - y;
    return center;
}
// #define kXXAngleToRadian(angle)  (M_PI / 180.0 * (angle))

假设一个红色圆圈控件可能出现在圆形轨迹任意位置,通过以上方法获取到的就是在最外层正方形视图中(作为superview),某一角度时该控件的center坐标。
center计算示意图

猜你喜欢

转载自blog.csdn.net/Mr17Liu/article/details/81636099