我想围绕锚点旋转多个UIImageView并给它们一点旋转,这样就可以这样了
这是我的代码,我认为它应该有效,但是发生了事情
int angel=0;
for (int i=0; i<6; i++)
{
UIImage *image=[UIImage imageNamed:@"images.jpeg"];
UIImageView *imageView=[[UIImageView alloc]initWithImage:image];
[self.view addSubview:imageView];
[imageView setFrame:CGRectMake(0, 0, 80, 80)];
[imageView setCenter:CGPointMake(150, 150)];
imageView.layer.anchorPoint = CGPointMake(1.0, 1.0);
imageView.transform = CGAffineTransformMakeRotation(angel);
angel+=3;
}
我认为他们都应该与iam一起增加角度3,如何实现这一目标?
答案 0 :(得分:1)
这是因为CGAffineTransformMakeRotation()
将弧度视为输入而非度数。现在,您可以使用像这样的宏轻松地将度数转换为弧度:
#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
或者您可以使用较小的输入值。在弧度中,360度等于2 *π~6.28,因此,假设0-360,您应该假定为0-2π而不是测量您的值。当你将值增加3时,你实际上将它增加了不到180度,这就是为什么你会看到你的样子。
总体而言,请尝试使用angel += 0.052539;
。你需要将angel
从int更改为float,正如@Kyle W.指出的那样
答案 1 :(得分:1)
我不完全确定我理解你的问题,但试试这个:
将角度从int
更改为float
。
float angel = 0;
更改循环每次迭代的增量。
angel += 0.3;
另外,我认为你的意思是“角度”而不是“天使”;)