我希望围绕锚点旋转多个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;
}

我认为他们都应该在同一方面与我增加角度3,如何实现这一点?
发布于 2013-09-01 13:16:01
这是因为CGAffineTransformMakeRotation()将弧度作为输入,而不是度。现在,您可以使用这样的宏轻松地将学位转换为弧度:
#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)或者您可以使用更小的输入值。在弧度中,360度等于2*π~ 6.28,所以不要把你的数值设定为0-360,你应该假设0-2π。当你把这个值增加3的时候,你实际上是在把它增加不到180度,这就是为什么你看到了你是什么。
总之,尝试使用angel += 0.052539;。正如凯尔W.所指出的,您需要将angel从int更改为浮点数。
发布于 2013-09-01 13:22:36
我不确定我是否完全理解你的问题,但试试这个:
将角度从int更改为float。
float angel = 0; 更改循环每次迭代的增量。
angel += 0.3;另外,我认为你指的是“角度”,而不是“天使”;)
https://stackoverflow.com/questions/18558693
复制相似问题