如何以可变角度旋转UIImageView?

时间:2012-06-07 13:36:28

标签: iphone objective-c ios quartz-graphics

我创建了一个UIImageView 这里的代码

capView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:kARROW_CAP_NAME]];
capView.frame = CGRectMake(0, 0, kARROW_H, kARROW_H);
[self addSubview:capView];

现在我有两点需要围绕View移动,所以,他们正在更新..

PointA,PointB

我得到了他们之间的角度:

CGFloat angleBetweenPoints(CGPoint first, CGPoint second) 
{
    CGFloat height = second.y - first.y;
    CGFloat width = first.x - second.x;
    CGFloat rads = atan(height/width);
    return RADIANS_TO_DEGREES(rads);
}

当我将这个角度应用到我的UIImageView时,它会不断变化,

我在这里用过的代码:

capView.transform = CGAffineTransformMakeRotation(arrowAngle);

capView.transform = CGAffineTransformRotate(self.transform, arrowAngle);

箭头角度是我在上面写的上述函数的值..

请看一看并帮助我。

1 个答案:

答案 0 :(得分:0)

得到了答案,这么简单......

但仍然没有人给我回答..

capView.transform = CGAffineTransformMakeRotation(RADIANS(M_PI_2 - arrowAngle))

RADINAS在这里是宏定义,

#define RADIANS(degrees) ((degrees * M_PI) / 180.0)

感谢所有参与其中的人..